openmetadata-ingestion 1.4.0.0rc1__py3-none-any.whl → 1.4.0.0rc2__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 (612) hide show
  1. metadata/__version__.py +13 -0
  2. metadata/cli/app.py +0 -1
  3. metadata/cmd.py +0 -193
  4. metadata/data_quality/source/test_suite.py +8 -2
  5. metadata/examples/workflows/kafka_connect.yaml +30 -0
  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/analytics/__init__.py +1 -1
  23. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  24. metadata/generated/schema/api/automations/__init__.py +1 -1
  25. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  26. metadata/generated/schema/api/bulkAssets.py +1 -1
  27. metadata/generated/schema/api/classification/__init__.py +1 -1
  28. metadata/generated/schema/api/classification/createClassification.py +1 -1
  29. metadata/generated/schema/api/classification/createTag.py +1 -1
  30. metadata/generated/schema/api/classification/loadTags.py +1 -1
  31. metadata/generated/schema/api/createBot.py +1 -1
  32. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  33. metadata/generated/schema/api/createType.py +1 -1
  34. metadata/generated/schema/api/data/__init__.py +1 -1
  35. metadata/generated/schema/api/data/createChart.py +1 -1
  36. metadata/generated/schema/api/data/createContainer.py +1 -1
  37. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  38. metadata/generated/schema/api/data/createDashboard.py +1 -1
  39. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  40. metadata/generated/schema/api/data/createDatabase.py +1 -1
  41. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  42. metadata/generated/schema/api/data/createGlossary.py +1 -1
  43. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  44. metadata/generated/schema/api/data/createMlModel.py +1 -1
  45. metadata/generated/schema/api/data/createPipeline.py +1 -1
  46. metadata/generated/schema/api/data/createQuery.py +1 -1
  47. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  48. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  49. metadata/generated/schema/api/data/createTable.py +4 -3
  50. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  51. metadata/generated/schema/api/data/createTopic.py +1 -1
  52. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  53. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  54. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  55. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  56. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  57. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  58. metadata/generated/schema/api/docStore/__init__.py +1 -1
  59. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  60. metadata/generated/schema/api/domains/__init__.py +1 -1
  61. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  62. metadata/generated/schema/api/domains/createDomain.py +1 -1
  63. metadata/generated/schema/api/feed/__init__.py +1 -1
  64. metadata/generated/schema/api/feed/closeTask.py +1 -1
  65. metadata/generated/schema/api/feed/createPost.py +1 -1
  66. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  67. metadata/generated/schema/api/feed/createThread.py +1 -1
  68. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  69. metadata/generated/schema/api/feed/threadCount.py +1 -1
  70. metadata/generated/schema/api/lineage/__init__.py +1 -1
  71. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  72. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  73. metadata/generated/schema/api/policies/__init__.py +1 -1
  74. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  75. metadata/generated/schema/api/services/__init__.py +1 -1
  76. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  77. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  78. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  79. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  80. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  81. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  82. metadata/generated/schema/api/services/createSearchService.py +1 -1
  83. metadata/generated/schema/api/services/createStorageService.py +1 -1
  84. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  85. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  86. metadata/generated/schema/api/setOwner.py +1 -1
  87. metadata/generated/schema/api/teams/__init__.py +1 -1
  88. metadata/generated/schema/api/teams/createPersona.py +1 -1
  89. metadata/generated/schema/api/teams/createRole.py +1 -1
  90. metadata/generated/schema/api/teams/createTeam.py +1 -1
  91. metadata/generated/schema/api/teams/createUser.py +2 -2
  92. metadata/generated/schema/api/tests/__init__.py +1 -1
  93. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  94. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  95. metadata/generated/schema/api/tests/createTestCase.py +2 -2
  96. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  97. metadata/generated/schema/api/tests/createTestDefinition.py +2 -2
  98. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  99. metadata/generated/schema/api/voteRequest.py +1 -1
  100. metadata/generated/schema/auth/__init__.py +1 -1
  101. metadata/generated/schema/auth/basicAuth.py +1 -1
  102. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  103. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  104. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  105. metadata/generated/schema/auth/emailRequest.py +1 -1
  106. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  107. metadata/generated/schema/auth/generateToken.py +1 -1
  108. metadata/generated/schema/auth/jwtAuth.py +1 -1
  109. metadata/generated/schema/auth/loginRequest.py +1 -1
  110. metadata/generated/schema/auth/logoutRequest.py +1 -1
  111. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  112. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  113. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  114. metadata/generated/schema/auth/refreshToken.py +1 -1
  115. metadata/generated/schema/auth/registrationRequest.py +1 -1
  116. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  117. metadata/generated/schema/auth/revokeToken.py +1 -1
  118. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  119. metadata/generated/schema/auth/ssoAuth.py +1 -1
  120. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  121. metadata/generated/schema/configuration/__init__.py +1 -1
  122. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  123. metadata/generated/schema/configuration/authConfig.py +1 -1
  124. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  125. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  126. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  127. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  128. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  129. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  130. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  131. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  132. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  133. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  134. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  135. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  136. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  137. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  138. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  139. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  140. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  141. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  142. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  143. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  144. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  146. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  147. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  149. metadata/generated/schema/dataInsight/__init__.py +1 -1
  150. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  151. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  152. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  153. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  154. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  155. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  156. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  157. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  158. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  159. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  160. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  161. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  162. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  163. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  164. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithDescriptionByType.py +1 -1
  165. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithOwnerByType.py +1 -1
  166. metadata/generated/schema/dataInsight/type/percentageOfServicesWithDescription.py +1 -1
  167. metadata/generated/schema/dataInsight/type/percentageOfServicesWithOwner.py +1 -1
  168. metadata/generated/schema/dataInsight/type/totalEntitiesByTier.py +1 -1
  169. metadata/generated/schema/dataInsight/type/totalEntitiesByType.py +1 -1
  170. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  171. metadata/generated/schema/email/__init__.py +1 -1
  172. metadata/generated/schema/email/emailRequest.py +1 -1
  173. metadata/generated/schema/email/smtpSettings.py +3 -3
  174. metadata/generated/schema/entity/__init__.py +1 -1
  175. metadata/generated/schema/entity/applications/__init__.py +1 -1
  176. metadata/generated/schema/entity/applications/app.py +1 -1
  177. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  178. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  179. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  180. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  181. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  182. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  183. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  184. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  185. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  186. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  187. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  188. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  189. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  190. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  191. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  192. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  193. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  194. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  195. metadata/generated/schema/entity/applications/configuration/external/metaPilotAppConfig.py +1 -1
  196. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  197. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  198. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  199. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  200. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  201. metadata/generated/schema/entity/applications/configuration/private/external/metaPilotAppPrivateConfig.py +1 -1
  202. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  203. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  204. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  205. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  206. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  207. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  208. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  209. metadata/generated/schema/entity/automations/__init__.py +1 -1
  210. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  211. metadata/generated/schema/entity/automations/workflow.py +1 -1
  212. metadata/generated/schema/entity/bot.py +1 -1
  213. metadata/generated/schema/entity/classification/__init__.py +1 -1
  214. metadata/generated/schema/entity/classification/classification.py +1 -1
  215. metadata/generated/schema/entity/classification/tag.py +1 -1
  216. metadata/generated/schema/entity/data/__init__.py +1 -1
  217. metadata/generated/schema/entity/data/chart.py +1 -1
  218. metadata/generated/schema/entity/data/container.py +1 -1
  219. metadata/generated/schema/entity/data/dashboard.py +1 -1
  220. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  221. metadata/generated/schema/entity/data/database.py +1 -1
  222. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  223. metadata/generated/schema/entity/data/glossary.py +1 -1
  224. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  225. metadata/generated/schema/entity/data/metrics.py +1 -1
  226. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  227. metadata/generated/schema/entity/data/pipeline.py +1 -1
  228. metadata/generated/schema/entity/data/query.py +1 -1
  229. metadata/generated/schema/entity/data/report.py +1 -1
  230. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  231. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  232. metadata/generated/schema/entity/data/table.py +6 -5
  233. metadata/generated/schema/entity/data/topic.py +1 -1
  234. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  235. metadata/generated/schema/entity/docStore/document.py +1 -1
  236. metadata/generated/schema/entity/domains/__init__.py +1 -1
  237. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  238. metadata/generated/schema/entity/domains/domain.py +1 -1
  239. metadata/generated/schema/entity/events/__init__.py +1 -1
  240. metadata/generated/schema/entity/events/webhook.py +1 -1
  241. metadata/generated/schema/entity/feed/__init__.py +1 -1
  242. metadata/generated/schema/entity/feed/assets.py +1 -1
  243. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  244. metadata/generated/schema/entity/feed/description.py +1 -1
  245. metadata/generated/schema/entity/feed/domain.py +1 -1
  246. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  247. metadata/generated/schema/entity/feed/owner.py +1 -1
  248. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  249. metadata/generated/schema/entity/feed/tag.py +1 -1
  250. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  251. metadata/generated/schema/entity/feed/thread.py +15 -5
  252. metadata/generated/schema/entity/policies/__init__.py +1 -1
  253. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  254. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  255. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  256. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  257. metadata/generated/schema/entity/policies/filters.py +1 -1
  258. metadata/generated/schema/entity/policies/policy.py +1 -1
  259. metadata/generated/schema/entity/services/__init__.py +1 -1
  260. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  261. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  262. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  263. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  264. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  265. metadata/generated/schema/entity/services/connections/connectionBasicType.py +5 -1
  266. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  267. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  268. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  269. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  270. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  271. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  272. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  273. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +1 -1
  274. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  275. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  276. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  277. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  278. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  279. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  280. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  281. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  282. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  283. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  284. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  285. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  286. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  287. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  288. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  289. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +4 -1
  290. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  291. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +4 -1
  292. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  293. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  294. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  295. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  296. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  297. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  298. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  299. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +4 -1
  300. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  301. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  302. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  303. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  304. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  305. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  306. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +2 -2
  307. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  308. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  309. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  310. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  311. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  312. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  313. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +4 -1
  314. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  315. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  316. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  317. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  318. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  319. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  320. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  321. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  322. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  323. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  324. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  325. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +4 -1
  326. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +4 -1
  327. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +4 -1
  328. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  329. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +4 -1
  330. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  331. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +4 -1
  332. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  334. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +4 -1
  340. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  341. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +7 -3
  342. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  343. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  344. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  345. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  347. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  351. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  352. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  354. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  358. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  359. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  360. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  363. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  364. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  365. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  366. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  367. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  368. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  369. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  373. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  374. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  375. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  376. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  378. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  380. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  381. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  382. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  386. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +5 -2
  390. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  391. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  392. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  393. metadata/generated/schema/entity/services/databaseService.py +1 -1
  394. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  395. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  396. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  397. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  398. metadata/generated/schema/entity/services/messagingService.py +1 -1
  399. metadata/generated/schema/entity/services/metadataService.py +1 -1
  400. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  401. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  402. metadata/generated/schema/entity/services/searchService.py +1 -1
  403. metadata/generated/schema/entity/services/serviceType.py +1 -1
  404. metadata/generated/schema/entity/services/storageService.py +1 -1
  405. metadata/generated/schema/entity/teams/__init__.py +1 -1
  406. metadata/generated/schema/entity/teams/persona.py +1 -1
  407. metadata/generated/schema/entity/teams/role.py +1 -1
  408. metadata/generated/schema/entity/teams/team.py +1 -1
  409. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  410. metadata/generated/schema/entity/teams/user.py +2 -2
  411. metadata/generated/schema/entity/type.py +1 -1
  412. metadata/generated/schema/entity/utils/__init__.py +1 -1
  413. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  414. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  415. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  416. metadata/generated/schema/events/__init__.py +1 -1
  417. metadata/generated/schema/events/alertMetrics.py +1 -1
  418. metadata/generated/schema/events/api/__init__.py +1 -1
  419. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  420. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  421. metadata/generated/schema/events/eventFilterRule.py +1 -1
  422. metadata/generated/schema/events/eventSubscription.py +1 -1
  423. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  424. metadata/generated/schema/events/failedEvent.py +1 -1
  425. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  426. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  427. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  428. metadata/generated/schema/metadataIngestion/application.py +1 -1
  429. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  430. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  431. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  432. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +6 -1
  433. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  434. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  435. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  436. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  437. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  438. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  439. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  440. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  441. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  442. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  443. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  444. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  445. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  446. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  447. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  448. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  449. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  450. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  451. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  452. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  453. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  454. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  455. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  456. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  457. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  458. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  459. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  460. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  461. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  462. metadata/generated/schema/monitoring/__init__.py +1 -1
  463. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  464. metadata/generated/schema/security/__init__.py +1 -1
  465. metadata/generated/schema/security/client/__init__.py +1 -1
  466. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  467. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  468. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  469. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  470. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  471. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  472. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  473. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  474. metadata/generated/schema/security/credentials/__init__.py +1 -1
  475. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  476. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  477. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  478. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  479. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  480. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  481. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  482. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  483. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  484. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  485. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  486. metadata/generated/schema/security/secrets/__init__.py +1 -1
  487. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  488. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  489. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  490. metadata/generated/schema/security/securityConfiguration.py +1 -1
  491. metadata/generated/schema/security/ssl/__init__.py +1 -1
  492. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  493. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  494. metadata/generated/schema/settings/__init__.py +1 -1
  495. metadata/generated/schema/settings/settings.py +1 -1
  496. metadata/generated/schema/system/__init__.py +1 -1
  497. metadata/generated/schema/system/entityError.py +1 -1
  498. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  499. metadata/generated/schema/system/indexingError.py +1 -1
  500. metadata/generated/schema/system/ui/__init__.py +1 -1
  501. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  502. metadata/generated/schema/system/ui/page.py +1 -1
  503. metadata/generated/schema/system/validationResponse.py +1 -1
  504. metadata/generated/schema/tests/__init__.py +1 -1
  505. metadata/generated/schema/tests/assigned.py +1 -1
  506. metadata/generated/schema/tests/basic.py +1 -1
  507. metadata/generated/schema/tests/customMetric.py +1 -1
  508. metadata/generated/schema/tests/resolved.py +1 -1
  509. metadata/generated/schema/tests/testCase.py +2 -2
  510. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  511. metadata/generated/schema/tests/testDefinition.py +2 -2
  512. metadata/generated/schema/tests/testSuite.py +1 -1
  513. metadata/generated/schema/type/__init__.py +1 -1
  514. metadata/generated/schema/type/auditLog.py +1 -1
  515. metadata/generated/schema/type/basic.py +7 -1
  516. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  517. metadata/generated/schema/type/changeEvent.py +1 -1
  518. metadata/generated/schema/type/changeEventType.py +1 -1
  519. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  520. metadata/generated/schema/type/csvDocumentation.py +1 -1
  521. metadata/generated/schema/type/csvErrorType.py +1 -1
  522. metadata/generated/schema/type/csvFile.py +1 -1
  523. metadata/generated/schema/type/csvImportResult.py +1 -1
  524. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  525. metadata/generated/schema/type/customProperties/complexTypes.py +9 -10
  526. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  527. metadata/generated/schema/type/customProperty.py +1 -1
  528. metadata/generated/schema/type/dailyCount.py +1 -1
  529. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  530. metadata/generated/schema/type/entityHierarchy.py +1 -1
  531. metadata/generated/schema/type/entityHistory.py +1 -1
  532. metadata/generated/schema/type/entityLineage.py +1 -1
  533. metadata/generated/schema/type/entityReference.py +1 -1
  534. metadata/generated/schema/type/entityReferenceList.py +1 -1
  535. metadata/generated/schema/type/entityRelationship.py +1 -1
  536. metadata/generated/schema/type/entityUsage.py +1 -1
  537. metadata/generated/schema/type/filterPattern.py +1 -1
  538. metadata/generated/schema/type/function.py +1 -1
  539. metadata/generated/schema/type/include.py +1 -1
  540. metadata/generated/schema/type/jdbcConnection.py +1 -1
  541. metadata/generated/schema/type/lifeCycle.py +1 -1
  542. metadata/generated/schema/type/paging.py +1 -1
  543. metadata/generated/schema/type/profile.py +1 -1
  544. metadata/generated/schema/type/queryParserData.py +1 -1
  545. metadata/generated/schema/type/reaction.py +1 -1
  546. metadata/generated/schema/type/schedule.py +1 -1
  547. metadata/generated/schema/type/schema.py +1 -1
  548. metadata/generated/schema/type/tableQuery.py +1 -1
  549. metadata/generated/schema/type/tableUsageCount.py +1 -1
  550. metadata/generated/schema/type/tagLabel.py +1 -1
  551. metadata/generated/schema/type/usageDetails.py +1 -1
  552. metadata/generated/schema/type/usageRequest.py +1 -1
  553. metadata/generated/schema/type/votes.py +1 -1
  554. metadata/ingestion/models/custom_properties.py +2 -0
  555. metadata/ingestion/models/patch_request.py +1 -1
  556. metadata/ingestion/ometa/mixins/patch_mixin.py +4 -2
  557. metadata/ingestion/ometa/mixins/server_mixin.py +9 -12
  558. metadata/ingestion/ometa/mixins/user_mixin.py +16 -4
  559. metadata/ingestion/processor/query_parser.py +29 -25
  560. metadata/ingestion/source/dashboard/powerbi/metadata.py +27 -2
  561. metadata/ingestion/source/database/athena/client.py +1 -1
  562. metadata/ingestion/source/database/athena/lineage.py +2 -0
  563. metadata/ingestion/source/database/athena/models.py +1 -1
  564. metadata/ingestion/source/database/athena/query_parser.py +2 -0
  565. metadata/ingestion/source/database/athena/usage.py +2 -0
  566. metadata/ingestion/source/database/bigquery/metadata.py +28 -9
  567. metadata/ingestion/source/database/clickhouse/metadata.py +24 -16
  568. metadata/ingestion/source/database/common_db_source.py +25 -19
  569. metadata/ingestion/source/database/database_service.py +3 -1
  570. metadata/ingestion/source/database/databricks/metadata.py +12 -18
  571. metadata/ingestion/source/database/databricks/queries.py +1 -4
  572. metadata/ingestion/source/database/dbt/metadata.py +8 -14
  573. metadata/ingestion/source/database/deltalake/connection.py +2 -2
  574. metadata/ingestion/source/database/deltalake/metadata.py +1 -1
  575. metadata/ingestion/source/database/hive/metadata.py +23 -0
  576. metadata/ingestion/source/database/mssql/metadata.py +6 -0
  577. metadata/ingestion/source/database/mysql/metadata.py +5 -0
  578. metadata/ingestion/source/database/oracle/metadata.py +26 -12
  579. metadata/ingestion/source/database/postgres/metadata.py +4 -0
  580. metadata/ingestion/source/database/redshift/metadata.py +8 -1
  581. metadata/ingestion/source/database/sample_data.py +1 -3
  582. metadata/ingestion/source/database/snowflake/metadata.py +4 -1
  583. metadata/ingestion/source/database/snowflake/queries.py +4 -0
  584. metadata/ingestion/source/database/snowflake/utils.py +20 -0
  585. metadata/ingestion/source/database/sqlalchemy_source.py +2 -2
  586. metadata/ingestion/source/database/trino/connection.py +13 -0
  587. metadata/ingestion/source/messaging/common_broker_source.py +42 -3
  588. metadata/ingestion/source/pipeline/dagster/queries.py +53 -82
  589. metadata/ingestion/source/pipeline/kafkaconnect/__init__.py +0 -0
  590. metadata/ingestion/source/pipeline/kafkaconnect/client.py +278 -0
  591. metadata/ingestion/source/pipeline/kafkaconnect/connection.py +58 -0
  592. metadata/ingestion/source/pipeline/kafkaconnect/metadata.py +319 -0
  593. metadata/ingestion/source/pipeline/kafkaconnect/models.py +62 -0
  594. metadata/ingestion/source/storage/s3/connection.py +10 -1
  595. metadata/ingestion/source/storage/s3/metadata.py +12 -23
  596. metadata/ingestion/source/storage/s3/models.py +4 -4
  597. metadata/profiler/interface/sqlalchemy/databricks/profiler_interface.py +1 -3
  598. metadata/profiler/processor/metric_filter.py +3 -1
  599. metadata/utils/elasticsearch.py +8 -0
  600. metadata/utils/messaging_utils.py +43 -0
  601. metadata/utils/sqlalchemy_utils.py +45 -1
  602. metadata/utils/tag_utils.py +2 -2
  603. {openmetadata_ingestion-1.4.0.0rc1.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/METADATA +284 -275
  604. {openmetadata_ingestion-1.4.0.0rc1.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/RECORD +608 -605
  605. metadata/applications/auto_tagger.py +0 -212
  606. metadata/cli/backup.py +0 -209
  607. metadata/cli/db_dump.py +0 -239
  608. metadata/cli/utils.py +0 -56
  609. {openmetadata_ingestion-1.4.0.0rc1.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/LICENSE +0 -0
  610. {openmetadata_ingestion-1.4.0.0rc1.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/WHEEL +0 -0
  611. {openmetadata_ingestion-1.4.0.0rc1.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/entry_points.txt +0 -0
  612. {openmetadata_ingestion-1.4.0.0rc1.dist-info → openmetadata_ingestion-1.4.0.0rc2.dist-info}/top_level.txt +0 -0
@@ -1,212 +0,0 @@
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
- PII application
13
- """
14
- import traceback
15
- from typing import Iterable, List, Optional
16
-
17
- from metadata.generated.schema.entity.applications.configuration.external.autoTaggerAppConfig import (
18
- AutoTaggerAppConfig,
19
- )
20
- from metadata.generated.schema.entity.data.table import Column, Table, TableData
21
- from metadata.generated.schema.entity.services.ingestionPipelines.status import (
22
- StackTraceError,
23
- )
24
- from metadata.generated.schema.metadataIngestion.application import (
25
- OpenMetadataApplicationConfig,
26
- )
27
- from metadata.generated.schema.type.tagLabel import (
28
- LabelType,
29
- State,
30
- TagFQN,
31
- TagLabel,
32
- TagSource,
33
- )
34
- from metadata.ingestion.models.table_metadata import ColumnTag
35
- from metadata.ingestion.ometa.ometa_api import OpenMetadata
36
- from metadata.pii.constants import PII
37
- from metadata.pii.scanners.column_name_scanner import ColumnNameScanner
38
- from metadata.pii.scanners.ner_scanner import NERScanner
39
- from metadata.utils.logger import app_logger
40
- from metadata.workflow.application import AppRunner, InvalidAppConfiguration
41
-
42
- logger = app_logger()
43
-
44
- DEFAULT_CONFIDENCE = 80
45
-
46
-
47
- class AutoTaggerApp(AppRunner):
48
- """
49
- PII Application
50
- You can execute it with `metadata app -c <path-to-yaml>`
51
- with a YAML file like:
52
-
53
- sourcePythonClass: metadata.applications.auto_tagger.AutoTaggerApp
54
- appConfig:
55
- type: AutoTagger
56
- confidenceLevel: 80
57
- workflowConfig:
58
- loggerLevel: INFO
59
- openMetadataServerConfig:
60
- hostPort: http://localhost:8585/api
61
- authProvider: openmetadata
62
- securityConfig:
63
- jwtToken: "..."
64
- """
65
-
66
- def __init__(self, config: OpenMetadataApplicationConfig, metadata: OpenMetadata):
67
- super().__init__(config, metadata)
68
-
69
- if not isinstance(self.app_config, AutoTaggerAppConfig):
70
- raise InvalidAppConfiguration(
71
- f"AutoTagger Runner expects an AutoTaggerAppConfig, we got [{config}]"
72
- )
73
-
74
- self._ner_scanner = None
75
- self.confidence_threshold = (
76
- self.app_config.confidenceLevel or DEFAULT_CONFIDENCE
77
- )
78
-
79
- @property
80
- def name(self) -> str:
81
- return "Auto Tagger"
82
-
83
- @staticmethod
84
- def build_column_tag(tag_fqn: str, column_fqn: str) -> ColumnTag:
85
- """
86
- Build the tag and run the PATCH
87
- """
88
- tag_label = TagLabel(
89
- tagFQN=TagFQN(__root__=tag_fqn),
90
- source=TagSource.Classification,
91
- state=State.Suggested,
92
- labelType=LabelType.Automated,
93
- )
94
-
95
- return ColumnTag(column_fqn=column_fqn, tag_label=tag_label)
96
-
97
- @property
98
- def ner_scanner(self) -> NERScanner:
99
- """Load the NER Scanner only if called"""
100
- if self._ner_scanner is None:
101
- self._ner_scanner = NERScanner()
102
-
103
- return self._ner_scanner
104
-
105
- def process_column(
106
- self,
107
- idx: int,
108
- column: Column,
109
- table_data: Optional[TableData],
110
- confidence_threshold: float,
111
- ) -> Optional[List[ColumnTag]]:
112
- """
113
- Tag a column with PII if we find it using our scanners
114
- """
115
-
116
- # First, check if the column we are about to process
117
- # already has PII tags or not
118
- column_has_pii_tag = any(
119
- (PII in tag.tagFQN.__root__ for tag in column.tags or [])
120
- )
121
-
122
- # If it has PII tags, we skip the processing
123
- # for the column
124
- if column_has_pii_tag is True:
125
- return None
126
-
127
- # Scan by column name. If no results there, check the sample data, if any
128
- tag_and_confidence = ColumnNameScanner.scan(column.name.__root__) or (
129
- self.ner_scanner.scan([row[idx] for row in table_data.rows])
130
- if table_data
131
- else None
132
- )
133
-
134
- if (
135
- tag_and_confidence
136
- and tag_and_confidence.tag_fqn
137
- and tag_and_confidence.confidence >= confidence_threshold / 100
138
- ):
139
- # We support returning +1 tags for a single column in _run
140
- return [
141
- self.build_column_tag(
142
- tag_fqn=tag_and_confidence.tag_fqn,
143
- column_fqn=column.fullyQualifiedName.__root__,
144
- )
145
- ]
146
-
147
- return None
148
-
149
- def process_table(self, table: Table) -> Optional[List[ColumnTag]]:
150
- """Run the patching of the table"""
151
- column_tags = []
152
- for idx, column in enumerate(table.columns):
153
- try:
154
- col_tags = self.process_column(
155
- idx=idx,
156
- column=column,
157
- table_data=table.sampleData,
158
- confidence_threshold=self.confidence_threshold,
159
- )
160
- if col_tags:
161
- column_tags.extend(col_tags)
162
- except Exception as err:
163
- self.status.failed(
164
- StackTraceError(
165
- name=table.fullyQualifiedName.__root__,
166
- error=f"Error computing PII tags for [{column}] - [{err}]",
167
- stackTrace=traceback.format_exc(),
168
- )
169
- )
170
-
171
- if column_tags:
172
- return column_tags
173
-
174
- return None
175
-
176
- def patch_columns(self, table: Table, column_tags: List[ColumnTag]) -> None:
177
- """Patch columns with PII"""
178
- patched = self.metadata.patch_column_tags(table=table, column_tags=column_tags)
179
- if not patched:
180
- self.status.failed(
181
- StackTraceError(
182
- name=table.fullyQualifiedName.__root__,
183
- error="Error patching tags for table",
184
- )
185
- )
186
- else:
187
- self.status.scanned(table)
188
- logger.debug(
189
- f"Successfully patched tag {column_tags} for {table.fullyQualifiedName.__root__}"
190
- )
191
-
192
- def run(self) -> None:
193
- """
194
- The PII Application will:
195
- 1. List tables
196
- 2. Check their column names and sample data (if any)
197
- 3. PATCH PII tags when needed
198
- """
199
- tables: Iterable[Table] = self.metadata.list_all_entities(
200
- entity=Table, fields=["sampleData", "tags"]
201
- )
202
- for table in tables:
203
- column_tags = self.process_table(table)
204
- if column_tags:
205
- self.patch_columns(table=table, column_tags=column_tags)
206
- else:
207
- self.status.filter(
208
- key=table.fullyQualifiedName.__root__, reason="No PII found"
209
- )
210
-
211
- def close(self) -> None:
212
- """Nothing to close"""
metadata/cli/backup.py DELETED
@@ -1,209 +0,0 @@
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
- Backup utility for the metadata CLI
14
- """
15
- import traceback
16
- from datetime import datetime
17
- from enum import Enum
18
- from pathlib import Path
19
- from typing import Optional, Tuple
20
-
21
- from metadata.cli.db_dump import dump
22
- from metadata.cli.utils import get_engine
23
- from metadata.utils.helpers import BackupRestoreArgs
24
- from metadata.utils.logger import ANSI, cli_logger, log_ansi_encoded_string
25
-
26
-
27
- class UploadDestinationType(Enum):
28
- AWS = "AWS"
29
- AZURE = "Azure"
30
-
31
-
32
- logger = cli_logger()
33
-
34
-
35
- def get_output(output: Optional[str] = None, filename: Optional[str] = None) -> Path:
36
- """
37
- Helper function to prepare the output backup file
38
- path and name.
39
-
40
- It will create the output dir if it does not exist.
41
-
42
- :param output: local path to store the backup
43
- :param filename: name of the backup file
44
- :return: backup file name
45
- """
46
- now = datetime.now().strftime("%Y%m%d%H%M")
47
- name = filename if filename else f"openmetadata_{now}_backup.sql"
48
-
49
- if output:
50
- path = Path(output).expanduser()
51
- # Create the output directory if it does not exist
52
- if not path.is_dir():
53
- path.mkdir(parents=True, exist_ok=True)
54
-
55
- return path / name
56
-
57
- return Path(name)
58
-
59
-
60
- def upload_backup_aws(endpoint: str, bucket: str, key: str, file: Path) -> None:
61
- """
62
- Upload the mysqldump backup file.
63
- We will use boto3 to upload the file to the endpoint
64
- and the key provided.
65
-
66
- :param endpoint: S3 endpoint
67
- :param bucket: S3 bucket to upload the file to
68
- :param key: S3 key to upload the backup file
69
- :param file: file to upload
70
- """
71
-
72
- try:
73
- # We just want to force boto3 install if uploading backup
74
- # pylint: disable=import-outside-toplevel
75
- import boto3
76
- from boto3.exceptions import S3UploadFailedError
77
- except ModuleNotFoundError as err:
78
- logger.debug(traceback.format_exc())
79
- logger.error(
80
- "Trying to import boto3 to run the backup upload."
81
- + " Please install openmetadata-ingestion[backup]."
82
- )
83
- raise err
84
-
85
- s3_key = Path(key) / file.name
86
- log_ansi_encoded_string(
87
- color=ANSI.GREEN,
88
- bold=False,
89
- message=f"Uploading {file} to {endpoint}/{bucket}/{str(s3_key)}...",
90
- )
91
-
92
- try:
93
- resource = boto3.resource(service_name="s3", endpoint_url=endpoint)
94
- resource.Object(bucket, str(s3_key)).upload_file(str(file.absolute()))
95
-
96
- except ValueError as err:
97
- logger.debug(traceback.format_exc())
98
- logger.error("Revisit the values of --upload")
99
- raise err
100
- except S3UploadFailedError as err:
101
- logger.debug(traceback.format_exc())
102
- logger.error(
103
- "Error when uploading the backup to S3. Revisit the config and permissions."
104
- + " You should have set the environment values for AWS_ACCESS_KEY_ID"
105
- + " and AWS_SECRET_ACCESS_KEY"
106
- )
107
- raise err
108
-
109
-
110
- def upload_backup_azure(account_url: str, container: str, file: Path) -> None:
111
- """
112
- Upload the mysqldump backup file.
113
-
114
- :param account_url: Azure account url
115
- :param container: Azure container to upload file to
116
- :param file: file to upload
117
- """
118
-
119
- try:
120
- # pylint: disable=import-outside-toplevel
121
- from azure.identity import DefaultAzureCredential
122
- from azure.storage.blob import BlobServiceClient
123
-
124
- default_credential = DefaultAzureCredential()
125
- # Create the BlobServiceClient object
126
- blob_service_client = BlobServiceClient(
127
- account_url, credential=default_credential
128
- )
129
- except ModuleNotFoundError as err:
130
- logger.debug(traceback.format_exc())
131
- logger.error(
132
- "Trying to import DefaultAzureCredential to run the backup upload."
133
- )
134
- raise err
135
-
136
- log_ansi_encoded_string(
137
- color=ANSI.GREEN,
138
- message=f"Uploading {file} to {account_url}/{container}...",
139
- )
140
-
141
- try:
142
- # Create a blob client using the local file name as the name for the blob
143
- blob_client = blob_service_client.get_blob_client(
144
- container=container, blob=file.name
145
- )
146
-
147
- # Upload the created file
148
- with open(file=file, mode="rb") as data:
149
- blob_client.upload_blob(data)
150
-
151
- except ValueError as err:
152
- logger.debug(traceback.format_exc())
153
- logger.error("Revisit the values of --upload")
154
- raise err
155
- except Exception as err:
156
- logger.debug(traceback.format_exc())
157
- logger.error(err)
158
- raise err
159
-
160
-
161
- def run_backup(
162
- common_backup_obj_instance: BackupRestoreArgs,
163
- output: Optional[str],
164
- filename: Optional[str],
165
- upload_destination_type: Optional[UploadDestinationType],
166
- upload: Optional[Tuple[str, str, str]],
167
- ) -> None:
168
- """
169
- Run `mysqldump` to MySQL database and store the
170
- output. Optionally, upload it to S3.
171
-
172
- :param common_backup_obj_instance: cls instance to fetch common args
173
- :param output: local path to store the backup
174
- :param filename: filename to store the backup
175
- :param upload_destination_type: Azure or AWS Destination Type
176
- :param upload: URI to upload result file
177
-
178
- """
179
- log_ansi_encoded_string(
180
- color=ANSI.BRIGHT_RED,
181
- bold=True,
182
- message="WARNING: backup is deprecated starting 1.4.0. Use database native dump tools instead."
183
- "For more information, please visit: "
184
- "https://docs.open-metadata.org/v1.4.x/deployment/backup-restore-metadata",
185
- )
186
- log_ansi_encoded_string(
187
- color=ANSI.GREEN,
188
- bold=False,
189
- message="Creating OpenMetadata backup for "
190
- f"{common_backup_obj_instance.host}:{common_backup_obj_instance.port}/{common_backup_obj_instance.database}...",
191
- )
192
-
193
- out = get_output(output, filename)
194
-
195
- engine = get_engine(common_args=common_backup_obj_instance)
196
- dump(engine=engine, output=out, schema=common_backup_obj_instance.schema)
197
-
198
- log_ansi_encoded_string(
199
- color=ANSI.GREEN, bold=False, message=f"Backup stored locally under {out}"
200
- )
201
-
202
- if upload:
203
- if upload_destination_type == UploadDestinationType.AWS.value:
204
- endpoint, bucket, key = upload
205
- upload_backup_aws(endpoint, bucket, key, out)
206
- elif upload_destination_type.title() == UploadDestinationType.AZURE.value:
207
- # only need two parameters from upload, key would be null
208
- account_url, container, key = upload
209
- upload_backup_azure(account_url, container, out)
metadata/cli/db_dump.py DELETED
@@ -1,239 +0,0 @@
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
- Database Dumping utility for the metadata CLI
14
- """
15
-
16
- import json
17
- from functools import singledispatch
18
- from pathlib import Path
19
- from typing import Iterable, List, Optional, Union
20
-
21
- from sqlalchemy import inspect, text
22
- from sqlalchemy.engine import Engine, Row
23
-
24
- from metadata.utils.constants import UTF_8
25
-
26
- TABLES_DUMP_ALL = {
27
- "task_sequence",
28
- "entity_usage",
29
- "entity_relationship",
30
- "entity_extension",
31
- "field_relationship",
32
- "tag_usage",
33
- "openmetadata_settings",
34
- "profiler_data_time_series",
35
- }
36
-
37
- CUSTOM_TABLES = {"entity_extension_time_series": {"exclude_columns": ["timestamp"]}}
38
- NOT_MIGRATE = {"DATABASE_CHANGE_LOG", "SERVER_MIGRATION_SQL_LOGS", "SERVER_CHANGE_LOG"}
39
-
40
- STATEMENT_JSON = "SELECT json FROM {table}"
41
- STATEMENT_HASH_JSON = "SELECT json, {hash_column_name} FROM {table}"
42
- STATEMENT_ALL = "SELECT * FROM {table}"
43
- STATEMENT_TRUNCATE = "TRUNCATE TABLE {table};\n"
44
- STATEMENT_ALL_NEW = "SELECT {cols} FROM {table}"
45
-
46
- MYSQL_ENGINE_NAME = "mysql"
47
- FQN_HASH_COLUMN = "fqnHash"
48
- NAME_HASH_COLUMN = "nameHash"
49
-
50
-
51
- def single_quote_wrap(raw: str) -> str:
52
- """
53
- Add single quote wrap to string. From `str` to `'str'`
54
- """
55
- return f"'{raw}'"
56
-
57
-
58
- def clean_str(raw: str, engine: Engine) -> str:
59
- """
60
- String cleaning for SQL parsing.
61
-
62
- Logic is different between MySQL and Postgres
63
-
64
- - descriptions/comments with single quotes, e.g., `Mysql's data`.
65
- get converted to `Mysql''s data`
66
- - To insert a literal backlash in MySQL you need to escape with another one. This applies for `\n` and `\"` in
67
- inner JSONs for a field. This is not required for postgres
68
- """
69
- quoted_str = raw.replace("'", "''")
70
-
71
- if engine.name == MYSQL_ENGINE_NAME:
72
- quoted_str = quoted_str.replace("\\", "\\\\")
73
-
74
- return quoted_str
75
-
76
-
77
- @singledispatch
78
- def clean_col(column_raw: Optional[Union[dict, str]], engine: Engine) -> str:
79
- return (
80
- single_quote_wrap(clean_str(str(column_raw), engine))
81
- if column_raw is not None
82
- else "null"
83
- )
84
-
85
-
86
- @clean_col.register(dict)
87
- @clean_col.register(list)
88
- def _(column_raw: Optional[Union[dict, list]], engine: Engine) -> str:
89
- """
90
- Prepare the JSON column to be inserted to MySQL
91
-
92
- Handle:
93
- - quotes
94
- - True/False values
95
- """
96
- return (
97
- single_quote_wrap(
98
- clean_str(
99
- json.dumps(
100
- column_raw,
101
- default=str, # If we don't know how to serialize, convert to str
102
- ),
103
- engine,
104
- )
105
- )
106
- if column_raw is not None
107
- else "null"
108
- )
109
-
110
-
111
- def get_hash_column_name(engine: Engine, table_name: str) -> Optional[str]:
112
- """
113
- Method to get name of the hash column (fqnHash or nameHash)
114
- """
115
- inspector = inspect(engine)
116
- columns = inspector.get_columns(table_name)
117
- for column in columns:
118
- if column["name"].lower() == FQN_HASH_COLUMN.lower():
119
- return column["name"]
120
- if column["name"].lower() == NAME_HASH_COLUMN.lower():
121
- return column["name"]
122
- return None
123
-
124
-
125
- def run_query_iter(engine: Engine, query: str) -> Iterable[Row]:
126
- """Return a generator of rows, one row at a time, with a limit of 100 in-mem rows"""
127
- with engine.connect() as conn:
128
- result = conn.execution_options(
129
- stream_results=True, max_row_buffer=100
130
- ).execute(text(query))
131
- for row in result:
132
- yield row
133
-
134
-
135
- def dump_json(tables: List[str], engine: Engine, output: Path) -> None:
136
- """
137
- Dumps JSON data.
138
-
139
- Postgres: engine.name == "postgresql"
140
- MySQL: engine.name == "mysql"
141
- """
142
- with open(output, "a", encoding=UTF_8) as file:
143
- for table in tables:
144
- truncate = STATEMENT_TRUNCATE.format(table=table)
145
- file.write(truncate)
146
-
147
- hash_column_name = get_hash_column_name(engine=engine, table_name=table)
148
- if hash_column_name:
149
- query = STATEMENT_HASH_JSON.format(
150
- table=table, hash_column_name=hash_column_name
151
- )
152
- for row in run_query_iter(engine=engine, query=query):
153
- insert = f"INSERT INTO {table} (json, {hash_column_name}) VALUES ({clean_col(row.json, engine)}, {clean_col(row[1], engine)});\n" # pylint: disable=line-too-long
154
- file.write(insert)
155
- else:
156
- res = engine.execute(text(STATEMENT_JSON.format(table=table))).all()
157
- for row in res:
158
- insert = f"INSERT INTO {table} (json) VALUES ({clean_col(row.json, engine)});\n"
159
- file.write(insert)
160
-
161
-
162
- def dump_all(tables: List[str], engine: Engine, output: Path) -> None:
163
- """
164
- Dump tables that need to store all data
165
- """
166
- with open(output, "a", encoding=UTF_8) as file:
167
- for table in tables:
168
- truncate = STATEMENT_TRUNCATE.format(table=table)
169
- file.write(truncate)
170
-
171
- query = STATEMENT_ALL.format(table=table)
172
- for row in run_query_iter(engine=engine, query=query):
173
- data = ",".join(clean_col(col, engine) for col in row)
174
-
175
- insert = f"INSERT INTO {table} VALUES ({data});\n"
176
- file.write(insert)
177
-
178
-
179
- def dump_entity_custom(engine: Engine, output: Path, inspector) -> None:
180
- """
181
- This function is used to dump entities with custom handling
182
- """
183
- with open(output, "a", encoding=UTF_8) as file:
184
- for table, data in CUSTOM_TABLES.items():
185
- truncate = STATEMENT_TRUNCATE.format(table=table)
186
- file.write(truncate)
187
-
188
- columns = inspector.get_columns(table_name=table)
189
-
190
- query = STATEMENT_ALL_NEW.format(
191
- cols=",".join(
192
- col["name"]
193
- for col in columns
194
- if col["name"] not in data["exclude_columns"]
195
- ),
196
- table=table,
197
- )
198
- for row in run_query_iter(engine=engine, query=query):
199
- # Let's use .format here to not add more variables
200
- # pylint: disable=consider-using-f-string
201
- insert = "INSERT INTO {table} ({cols}) VALUES ({data});\n".format(
202
- table=table,
203
- data=",".join(clean_col(col, engine) for col in row),
204
- cols=",".join(
205
- col["name"]
206
- for col in columns
207
- if col["name"] not in data["exclude_columns"]
208
- ),
209
- )
210
- file.write(insert)
211
-
212
-
213
- def get_lower_table_names(tables):
214
- return [table.lower() for table in tables]
215
-
216
-
217
- def dump(engine: Engine, output: Path, schema: str = None) -> None:
218
- """
219
- Get all tables from the database and dump
220
- only the JSON column for the required tables
221
- """
222
- inspector = inspect(engine)
223
- tables = (
224
- inspector.get_table_names(schema) if schema else inspector.get_table_names()
225
- )
226
- lower_tables = get_lower_table_names(tables)
227
- all_non_json_tables = (
228
- get_lower_table_names(TABLES_DUMP_ALL)
229
- + get_lower_table_names(NOT_MIGRATE)
230
- + get_lower_table_names(CUSTOM_TABLES)
231
- )
232
-
233
- dump_json_tables = [
234
- table for table in lower_tables if table not in all_non_json_tables
235
- ]
236
-
237
- dump_all(tables=list(TABLES_DUMP_ALL), engine=engine, output=output)
238
- dump_json(tables=dump_json_tables, engine=engine, output=output)
239
- dump_entity_custom(engine=engine, output=output, inspector=inspector)