openmetadata-ingestion 1.6.7.0__py3-none-any.whl → 1.7.0.0rc1__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 (865) hide show
  1. metadata/automations/execute_runner.py +49 -0
  2. metadata/automations/extended_runner.py +13 -0
  3. metadata/automations/runner.py +34 -35
  4. metadata/data_quality/validations/table/base/tableCustomSQLQuery.py +11 -1
  5. metadata/examples/workflows/cassandra.yaml +35 -0
  6. metadata/examples/workflows/cockroach.yaml +24 -0
  7. metadata/examples/workflows/nifi.yaml +51 -0
  8. metadata/examples/workflows/opensearch.yaml +20 -0
  9. metadata/generated/schema/analytics/__init__.py +1 -1
  10. metadata/generated/schema/analytics/basic.py +1 -1
  11. metadata/generated/schema/analytics/reportData.py +1 -1
  12. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  13. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  14. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  15. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  16. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  17. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  18. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  19. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  20. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  21. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  22. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  23. metadata/generated/schema/api/__init__.py +1 -1
  24. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  25. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  26. metadata/generated/schema/api/analytics/__init__.py +1 -1
  27. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  28. metadata/generated/schema/api/automations/__init__.py +1 -1
  29. metadata/generated/schema/api/automations/createWorkflow.py +14 -4
  30. metadata/generated/schema/api/bulkAssets.py +1 -1
  31. metadata/generated/schema/api/classification/__init__.py +1 -1
  32. metadata/generated/schema/api/classification/createClassification.py +2 -2
  33. metadata/generated/schema/api/classification/createTag.py +2 -2
  34. metadata/generated/schema/api/classification/loadTags.py +1 -1
  35. metadata/generated/schema/api/createBot.py +1 -1
  36. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  37. metadata/generated/schema/api/createType.py +1 -1
  38. metadata/generated/schema/api/data/__init__.py +1 -1
  39. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  40. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  41. metadata/generated/schema/api/data/createChart.py +1 -1
  42. metadata/generated/schema/api/data/createContainer.py +1 -1
  43. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  44. metadata/generated/schema/api/data/createDashboard.py +1 -1
  45. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  46. metadata/generated/schema/api/data/createDatabase.py +1 -1
  47. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  48. metadata/generated/schema/api/data/createGlossary.py +1 -1
  49. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  50. metadata/generated/schema/api/data/createMetric.py +1 -1
  51. metadata/generated/schema/api/data/createMlModel.py +1 -1
  52. metadata/generated/schema/api/data/createPipeline.py +5 -1
  53. metadata/generated/schema/api/data/createQuery.py +1 -1
  54. metadata/generated/schema/api/data/createQueryCostRecord.py +35 -0
  55. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  56. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  57. metadata/generated/schema/api/data/createTable.py +1 -1
  58. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  59. metadata/generated/schema/api/data/createTopic.py +1 -1
  60. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  61. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  62. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  63. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  64. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  65. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  66. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  67. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  68. metadata/generated/schema/api/docStore/__init__.py +1 -1
  69. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  70. metadata/generated/schema/api/domains/__init__.py +1 -1
  71. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  72. metadata/generated/schema/api/domains/createDomain.py +8 -1
  73. metadata/generated/schema/api/feed/__init__.py +1 -1
  74. metadata/generated/schema/api/feed/closeTask.py +1 -1
  75. metadata/generated/schema/api/feed/createPost.py +1 -1
  76. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  77. metadata/generated/schema/api/feed/createThread.py +1 -1
  78. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  79. metadata/generated/schema/api/feed/threadCount.py +25 -1
  80. metadata/generated/schema/api/governance/__init__.py +1 -1
  81. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  82. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  83. metadata/generated/schema/api/lineage/__init__.py +1 -1
  84. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  85. metadata/generated/schema/api/lineage/esLineageData.py +85 -0
  86. metadata/generated/schema/api/lineage/lineageDirection.py +12 -0
  87. metadata/generated/schema/api/lineage/nodeInformation.py +19 -0
  88. metadata/generated/schema/api/lineage/searchLineageRequest.py +45 -0
  89. metadata/generated/schema/api/lineage/searchLineageResult.py +46 -0
  90. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  91. metadata/generated/schema/api/policies/__init__.py +1 -1
  92. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  93. metadata/generated/schema/api/search/__init__.py +3 -0
  94. metadata/generated/schema/api/search/previewSearchRequest.py +47 -0
  95. metadata/generated/schema/api/services/__init__.py +1 -1
  96. metadata/generated/schema/api/services/createApiService.py +9 -2
  97. metadata/generated/schema/api/services/createDashboardService.py +9 -2
  98. metadata/generated/schema/api/services/createDatabaseService.py +9 -2
  99. metadata/generated/schema/api/services/createMessagingService.py +9 -2
  100. metadata/generated/schema/api/services/createMetadataService.py +9 -2
  101. metadata/generated/schema/api/services/createMlModelService.py +9 -2
  102. metadata/generated/schema/api/services/createPipelineService.py +9 -2
  103. metadata/generated/schema/api/services/createSearchService.py +9 -2
  104. metadata/generated/schema/api/services/createStorageService.py +9 -2
  105. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  106. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  107. metadata/generated/schema/api/setOwner.py +1 -1
  108. metadata/generated/schema/api/teams/__init__.py +1 -1
  109. metadata/generated/schema/api/teams/createPersona.py +1 -1
  110. metadata/generated/schema/api/teams/createRole.py +1 -1
  111. metadata/generated/schema/api/teams/createTeam.py +1 -1
  112. metadata/generated/schema/api/teams/createUser.py +1 -1
  113. metadata/generated/schema/api/tests/__init__.py +1 -1
  114. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  115. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  116. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  117. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  118. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  119. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  120. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  121. metadata/generated/schema/api/voteRequest.py +1 -1
  122. metadata/generated/schema/auth/__init__.py +1 -1
  123. metadata/generated/schema/auth/basicAuth.py +1 -1
  124. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  125. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  126. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  127. metadata/generated/schema/auth/emailRequest.py +1 -1
  128. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  129. metadata/generated/schema/auth/generateToken.py +1 -1
  130. metadata/generated/schema/auth/jwtAuth.py +1 -1
  131. metadata/generated/schema/auth/loginRequest.py +1 -1
  132. metadata/generated/schema/auth/logoutRequest.py +1 -1
  133. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  134. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  135. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  136. metadata/generated/schema/auth/refreshToken.py +1 -1
  137. metadata/generated/schema/auth/registrationRequest.py +1 -1
  138. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  139. metadata/generated/schema/auth/revokeToken.py +1 -1
  140. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  141. metadata/generated/schema/auth/ssoAuth.py +1 -1
  142. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  143. metadata/generated/schema/configuration/__init__.py +1 -1
  144. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  145. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  146. metadata/generated/schema/configuration/authConfig.py +1 -1
  147. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  148. metadata/generated/schema/configuration/authorizerConfiguration.py +4 -1
  149. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  150. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  151. metadata/generated/schema/configuration/elasticSearchConfiguration.py +55 -1
  152. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  158. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  159. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  160. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  161. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  162. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  163. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  164. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  165. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  166. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  167. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +21 -0
  168. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  169. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/searchSettings.py +428 -4
  171. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  172. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  174. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  176. metadata/generated/schema/configuration/workflowSettings.py +8 -1
  177. metadata/generated/schema/dataInsight/__init__.py +1 -1
  178. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  179. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  180. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  181. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  182. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  183. metadata/generated/schema/dataInsight/custom/lineChart.py +15 -1
  184. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  185. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  186. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  187. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  188. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  189. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  190. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  191. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  192. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  193. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  194. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  195. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  196. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  197. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  198. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  199. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  200. metadata/generated/schema/email/__init__.py +1 -1
  201. metadata/generated/schema/email/emailRequest.py +1 -1
  202. metadata/generated/schema/email/emailTemplate.py +1 -1
  203. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  204. metadata/generated/schema/email/smtpSettings.py +1 -2
  205. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  206. metadata/generated/schema/entity/__init__.py +1 -1
  207. metadata/generated/schema/entity/applications/__init__.py +1 -1
  208. metadata/generated/schema/entity/applications/app.py +14 -1
  209. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  210. metadata/generated/schema/entity/applications/appRunRecord.py +23 -4
  211. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  212. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +9 -3
  213. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  214. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  215. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  216. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +41 -0
  217. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +71 -0
  222. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +33 -0
  227. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  230. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +45 -0
  232. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +13 -1
  234. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +46 -0
  238. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +46 -0
  239. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +109 -2
  240. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/internal/dayOneExperienceAppConfig.py +48 -0
  243. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/private/__init__.py +3 -0
  245. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +3 -22
  247. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +3 -0
  248. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +24 -0
  249. metadata/generated/schema/entity/applications/configuration/private/limits.py +33 -0
  250. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  251. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  252. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  253. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  254. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +13 -1
  255. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +13 -1
  256. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  257. metadata/generated/schema/entity/automations/__init__.py +1 -1
  258. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  259. metadata/generated/schema/entity/automations/workflow.py +15 -4
  260. metadata/generated/schema/entity/bot.py +1 -1
  261. metadata/generated/schema/entity/classification/__init__.py +1 -1
  262. metadata/generated/schema/entity/classification/classification.py +1 -1
  263. metadata/generated/schema/entity/classification/tag.py +1 -1
  264. metadata/generated/schema/entity/data/__init__.py +1 -1
  265. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  266. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  267. metadata/generated/schema/entity/data/chart.py +1 -1
  268. metadata/generated/schema/entity/data/container.py +1 -1
  269. metadata/generated/schema/entity/data/dashboard.py +1 -1
  270. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  271. metadata/generated/schema/entity/data/database.py +5 -1
  272. metadata/generated/schema/entity/data/databaseSchema.py +7 -5
  273. metadata/generated/schema/entity/data/glossary.py +1 -1
  274. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  275. metadata/generated/schema/entity/data/metric.py +1 -1
  276. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  277. metadata/generated/schema/entity/data/pipeline.py +14 -1
  278. metadata/generated/schema/entity/data/query.py +1 -1
  279. metadata/generated/schema/entity/data/queryCostRecord.py +47 -0
  280. metadata/generated/schema/entity/data/queryCostSearchResult.py +56 -0
  281. metadata/generated/schema/entity/data/report.py +1 -1
  282. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  283. metadata/generated/schema/entity/data/storedProcedure.py +3 -1
  284. metadata/generated/schema/entity/data/table.py +8 -1
  285. metadata/generated/schema/entity/data/topic.py +1 -1
  286. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  287. metadata/generated/schema/entity/docStore/document.py +1 -1
  288. metadata/generated/schema/entity/domains/__init__.py +1 -1
  289. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  290. metadata/generated/schema/entity/domains/domain.py +8 -1
  291. metadata/generated/schema/entity/events/__init__.py +1 -1
  292. metadata/generated/schema/entity/events/webhook.py +1 -1
  293. metadata/generated/schema/entity/feed/__init__.py +1 -1
  294. metadata/generated/schema/entity/feed/assets.py +1 -1
  295. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  296. metadata/generated/schema/entity/feed/description.py +1 -1
  297. metadata/generated/schema/entity/feed/domain.py +1 -1
  298. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  299. metadata/generated/schema/entity/feed/owner.py +1 -1
  300. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  301. metadata/generated/schema/entity/feed/tag.py +1 -1
  302. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  303. metadata/generated/schema/entity/feed/thread.py +1 -1
  304. metadata/generated/schema/entity/policies/__init__.py +1 -1
  305. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  306. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  307. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  308. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  309. metadata/generated/schema/entity/policies/filters.py +1 -1
  310. metadata/generated/schema/entity/policies/policy.py +1 -1
  311. metadata/generated/schema/entity/services/__init__.py +1 -1
  312. metadata/generated/schema/entity/services/apiService.py +8 -1
  313. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  314. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  315. metadata/generated/schema/entity/services/connections/api/restConnection.py +11 -1
  316. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  317. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  318. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  319. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  320. metadata/generated/schema/entity/services/connections/connectionBasicType.py +7 -1
  321. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  322. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +34 -1
  323. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +34 -1
  324. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +34 -1
  325. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +34 -1
  326. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +34 -1
  327. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +34 -1
  328. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +34 -1
  329. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +34 -1
  330. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +34 -1
  331. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  332. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +50 -2
  337. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +34 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +34 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +34 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +35 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +34 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +34 -1
  343. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  344. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +26 -1
  345. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +26 -1
  346. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +36 -1
  347. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +26 -1
  348. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +3 -0
  349. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +61 -0
  350. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +106 -0
  351. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +26 -1
  352. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +136 -0
  353. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +26 -1
  360. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +26 -1
  361. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +37 -2
  362. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +26 -1
  367. metadata/generated/schema/entity/services/connections/database/db2Connection.py +26 -1
  368. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +26 -1
  369. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +26 -1
  373. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +26 -1
  374. metadata/generated/schema/entity/services/connections/database/druidConnection.py +26 -1
  375. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +26 -1
  376. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +26 -1
  377. metadata/generated/schema/entity/services/connections/database/glueConnection.py +26 -1
  378. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +26 -1
  379. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +26 -1
  380. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +26 -1
  388. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +26 -1
  389. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +26 -1
  390. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +26 -1
  391. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +42 -2
  392. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +32 -2
  393. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +32 -2
  394. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +26 -1
  395. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +37 -2
  396. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +26 -1
  397. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +41 -2
  398. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +26 -1
  399. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +26 -1
  400. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +26 -1
  404. metadata/generated/schema/entity/services/connections/database/sasConnection.py +27 -1
  405. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +26 -1
  406. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +58 -3
  407. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +26 -1
  408. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +26 -1
  409. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +26 -1
  410. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +26 -1
  411. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +37 -2
  412. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +26 -1
  413. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  414. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +10 -1
  415. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +10 -1
  416. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +10 -1
  417. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +10 -1
  418. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +10 -1
  419. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  420. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  421. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +26 -1
  422. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +26 -1
  423. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +26 -1
  424. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +26 -1
  425. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +26 -1
  426. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +26 -2
  427. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  428. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +10 -1
  429. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +10 -1
  430. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +10 -1
  431. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +10 -1
  432. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +10 -1
  433. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  434. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +10 -1
  435. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +10 -1
  436. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +11 -1
  437. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +10 -1
  438. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +10 -1
  439. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +10 -1
  440. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +10 -1
  441. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +11 -1
  442. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +10 -1
  443. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +10 -1
  444. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +10 -1
  445. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +10 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +11 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +10 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +10 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +10 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +11 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +10 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +10 -1
  458. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  459. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +10 -1
  460. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  461. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  462. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  463. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +10 -1
  464. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +37 -29
  465. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  467. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +10 -1
  468. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +10 -1
  469. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +10 -1
  470. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +10 -1
  471. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  472. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  473. metadata/generated/schema/entity/services/dashboardService.py +8 -1
  474. metadata/generated/schema/entity/services/databaseService.py +14 -1
  475. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  476. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +8 -1
  477. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  478. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +47 -0
  479. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  480. metadata/generated/schema/entity/services/messagingService.py +8 -1
  481. metadata/generated/schema/entity/services/metadataService.py +8 -1
  482. metadata/generated/schema/entity/services/mlmodelService.py +8 -1
  483. metadata/generated/schema/entity/services/pipelineService.py +8 -1
  484. metadata/generated/schema/entity/services/searchService.py +9 -2
  485. metadata/generated/schema/entity/services/serviceType.py +1 -1
  486. metadata/generated/schema/entity/services/storageService.py +8 -1
  487. metadata/generated/schema/entity/teams/__init__.py +1 -1
  488. metadata/generated/schema/entity/teams/persona.py +5 -1
  489. metadata/generated/schema/entity/teams/role.py +1 -1
  490. metadata/generated/schema/entity/teams/team.py +1 -1
  491. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  492. metadata/generated/schema/entity/teams/user.py +5 -1
  493. metadata/generated/schema/entity/type.py +1 -1
  494. metadata/generated/schema/entity/utils/__init__.py +1 -1
  495. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  496. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  497. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  498. metadata/generated/schema/events/__init__.py +1 -1
  499. metadata/generated/schema/events/alertMetrics.py +1 -1
  500. metadata/generated/schema/events/api/__init__.py +1 -1
  501. metadata/generated/schema/events/api/createEventSubscription.py +9 -1
  502. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  503. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  504. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  505. metadata/generated/schema/events/api/typedEvent.py +1 -1
  506. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  507. metadata/generated/schema/events/eventFilterRule.py +1 -1
  508. metadata/generated/schema/events/eventSubscription.py +9 -2
  509. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  510. metadata/generated/schema/events/failedEvent.py +1 -1
  511. metadata/generated/schema/events/failedEventResponse.py +1 -1
  512. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  513. metadata/generated/schema/events/statusContext.py +1 -1
  514. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  515. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  516. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  517. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  518. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  519. metadata/generated/schema/governance/workflows/elements/edge.py +2 -2
  520. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +4 -1
  521. metadata/generated/schema/governance/workflows/elements/nodeType.py +2 -1
  522. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  523. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  524. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +28 -8
  525. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +86 -0
  526. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +73 -0
  527. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +27 -6
  528. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +28 -7
  529. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  530. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +9 -4
  531. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +3 -0
  532. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +30 -0
  533. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  534. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +9 -4
  535. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +24 -7
  537. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +8 -4
  539. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +20 -0
  540. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +18 -5
  541. metadata/generated/schema/governance/workflows/workflowDefinition.py +30 -7
  542. metadata/generated/schema/governance/workflows/workflowInstance.py +11 -8
  543. metadata/generated/schema/governance/workflows/workflowInstanceState.py +4 -8
  544. metadata/generated/schema/jobs/__init__.py +1 -1
  545. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  546. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  547. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  548. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  549. metadata/generated/schema/metadataIngestion/application.py +1 -1
  550. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  551. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  552. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  553. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  554. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +4 -4
  555. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +5 -1
  556. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +18 -2
  557. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +9 -1
  558. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  559. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  560. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  561. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  562. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  563. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  564. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  565. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  566. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  567. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  568. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +64 -0
  572. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +3 -0
  573. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +24 -0
  574. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +28 -0
  575. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +28 -0
  576. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  577. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  578. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  579. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  580. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  581. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  582. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  583. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  584. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  585. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  586. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  587. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  588. metadata/generated/schema/metadataIngestion/workflow.py +3 -1
  589. metadata/generated/schema/monitoring/__init__.py +1 -1
  590. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  591. metadata/generated/schema/search/__init__.py +3 -0
  592. metadata/generated/schema/search/searchRequest.py +106 -0
  593. metadata/generated/schema/security/__init__.py +1 -1
  594. metadata/generated/schema/security/client/__init__.py +1 -1
  595. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  596. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  597. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  598. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  599. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  600. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  601. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  602. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  603. metadata/generated/schema/security/credentials/__init__.py +1 -1
  604. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  605. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  606. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  607. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  608. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  609. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  610. metadata/generated/schema/security/credentials/gcpCredentials.py +42 -22
  611. metadata/generated/schema/security/credentials/gcpExternalAccount.py +2 -2
  612. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  613. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  614. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  615. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  616. metadata/generated/schema/security/sasl/__init__.py +1 -1
  617. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  618. metadata/generated/schema/security/secrets/__init__.py +1 -1
  619. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  620. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  621. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  622. metadata/generated/schema/security/securityConfiguration.py +1 -1
  623. metadata/generated/schema/security/ssl/__init__.py +1 -1
  624. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  625. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  626. metadata/generated/schema/settings/__init__.py +1 -1
  627. metadata/generated/schema/settings/settings.py +4 -1
  628. metadata/generated/schema/system/__init__.py +1 -1
  629. metadata/generated/schema/system/entityError.py +1 -1
  630. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  631. metadata/generated/schema/system/indexingError.py +1 -1
  632. metadata/generated/schema/system/limitsResponse.py +1 -1
  633. metadata/generated/schema/system/ui/__init__.py +1 -1
  634. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  635. metadata/generated/schema/system/ui/navigationItem.py +38 -0
  636. metadata/generated/schema/system/ui/page.py +23 -15
  637. metadata/generated/schema/system/ui/tab.py +36 -0
  638. metadata/generated/schema/system/ui/uiCustomization.py +45 -0
  639. metadata/generated/schema/system/validationResponse.py +1 -1
  640. metadata/generated/schema/tests/__init__.py +1 -1
  641. metadata/generated/schema/tests/assigned.py +1 -1
  642. metadata/generated/schema/tests/basic.py +1 -1
  643. metadata/generated/schema/tests/customMetric.py +1 -1
  644. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  645. metadata/generated/schema/tests/resolved.py +1 -1
  646. metadata/generated/schema/tests/testCase.py +4 -1
  647. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  648. metadata/generated/schema/tests/testDefinition.py +1 -1
  649. metadata/generated/schema/tests/testSuite.py +1 -1
  650. metadata/generated/schema/type/__init__.py +1 -1
  651. metadata/generated/schema/type/apiSchema.py +1 -1
  652. metadata/generated/schema/type/assetCertification.py +1 -1
  653. metadata/generated/schema/type/auditLog.py +1 -1
  654. metadata/generated/schema/type/basic.py +1 -1
  655. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  656. metadata/generated/schema/type/changeEvent.py +1 -1
  657. metadata/generated/schema/type/changeEventType.py +1 -1
  658. metadata/generated/schema/type/changeSummaryMap.py +37 -0
  659. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  660. metadata/generated/schema/type/csvDocumentation.py +1 -1
  661. metadata/generated/schema/type/csvErrorType.py +1 -1
  662. metadata/generated/schema/type/csvFile.py +1 -1
  663. metadata/generated/schema/type/csvImportResult.py +1 -1
  664. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  665. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  666. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  667. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  668. metadata/generated/schema/type/customProperty.py +1 -1
  669. metadata/generated/schema/type/dailyCount.py +1 -1
  670. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  671. metadata/generated/schema/type/entityHierarchy.py +1 -1
  672. metadata/generated/schema/type/entityHistory.py +6 -3
  673. metadata/generated/schema/type/entityLineage.py +27 -1
  674. metadata/generated/schema/type/entityReference.py +1 -1
  675. metadata/generated/schema/type/entityReferenceList.py +1 -1
  676. metadata/generated/schema/type/entityRelationship.py +1 -1
  677. metadata/generated/schema/type/entityUsage.py +1 -1
  678. metadata/generated/schema/type/filterPattern.py +1 -1
  679. metadata/generated/schema/type/function.py +1 -1
  680. metadata/generated/schema/type/include.py +1 -1
  681. metadata/generated/schema/type/jdbcConnection.py +1 -1
  682. metadata/generated/schema/type/lifeCycle.py +1 -1
  683. metadata/generated/schema/type/paging.py +1 -1
  684. metadata/generated/schema/type/profile.py +1 -1
  685. metadata/generated/schema/type/queryParserData.py +4 -1
  686. metadata/generated/schema/type/reaction.py +1 -1
  687. metadata/generated/schema/type/schedule.py +1 -1
  688. metadata/generated/schema/type/schema.py +1 -1
  689. metadata/generated/schema/type/tableQuery.py +4 -1
  690. metadata/generated/schema/type/tableUsageCount.py +18 -1
  691. metadata/generated/schema/type/tagLabel.py +1 -1
  692. metadata/generated/schema/type/usageDetails.py +1 -1
  693. metadata/generated/schema/type/usageRequest.py +1 -1
  694. metadata/generated/schema/type/votes.py +1 -1
  695. metadata/ingestion/api/topology_runner.py +3 -3
  696. metadata/ingestion/bulksink/metadata_usage.py +27 -6
  697. metadata/ingestion/lineage/masker.py +13 -2
  698. metadata/ingestion/models/custom_pydantic.py +44 -6
  699. metadata/ingestion/ometa/client.py +20 -0
  700. metadata/ingestion/ometa/mixins/domain_mixin.py +80 -0
  701. metadata/ingestion/ometa/mixins/es_mixin.py +42 -2
  702. metadata/ingestion/ometa/mixins/lineage_mixin.py +7 -7
  703. metadata/ingestion/ometa/mixins/patch_mixin.py +15 -5
  704. metadata/ingestion/ometa/mixins/pipeline_mixin.py +18 -0
  705. metadata/ingestion/ometa/mixins/query_mixin.py +43 -0
  706. metadata/ingestion/ometa/ometa_api.py +28 -3
  707. metadata/ingestion/ometa/routes.py +7 -0
  708. metadata/ingestion/ometa/utils.py +13 -0
  709. metadata/ingestion/processor/query_parser.py +1 -0
  710. metadata/ingestion/sink/metadata_rest.py +21 -1
  711. metadata/ingestion/source/dashboard/dashboard_service.py +9 -1
  712. metadata/ingestion/source/dashboard/domodashboard/metadata.py +3 -1
  713. metadata/ingestion/source/dashboard/lightdash/metadata.py +1 -1
  714. metadata/ingestion/source/dashboard/looker/metadata.py +8 -2
  715. metadata/ingestion/source/dashboard/metabase/client.py +65 -6
  716. metadata/ingestion/source/dashboard/metabase/metadata.py +88 -37
  717. metadata/ingestion/source/dashboard/metabase/models.py +2 -1
  718. metadata/ingestion/source/dashboard/microstrategy/metadata.py +3 -1
  719. metadata/ingestion/source/dashboard/mode/metadata.py +16 -9
  720. metadata/ingestion/source/dashboard/powerbi/client.py +89 -1
  721. metadata/ingestion/source/dashboard/powerbi/metadata.py +270 -258
  722. metadata/ingestion/source/dashboard/powerbi/models.py +25 -0
  723. metadata/ingestion/source/dashboard/qlikcloud/client.py +25 -2
  724. metadata/ingestion/source/dashboard/qlikcloud/metadata.py +69 -15
  725. metadata/ingestion/source/dashboard/qlikcloud/models.py +44 -1
  726. metadata/ingestion/source/dashboard/qliksense/metadata.py +26 -18
  727. metadata/ingestion/source/dashboard/quicksight/metadata.py +32 -29
  728. metadata/ingestion/source/dashboard/redash/metadata.py +12 -10
  729. metadata/ingestion/source/dashboard/sigma/metadata.py +12 -14
  730. metadata/ingestion/source/dashboard/superset/api_source.py +25 -26
  731. metadata/ingestion/source/dashboard/superset/db_source.py +22 -20
  732. metadata/ingestion/source/dashboard/superset/mixin.py +207 -53
  733. metadata/ingestion/source/dashboard/superset/models.py +3 -0
  734. metadata/ingestion/source/dashboard/superset/queries.py +7 -4
  735. metadata/ingestion/source/dashboard/superset/utils.py +36 -0
  736. metadata/ingestion/source/dashboard/tableau/client.py +56 -1
  737. metadata/ingestion/source/dashboard/tableau/metadata.py +243 -128
  738. metadata/ingestion/source/database/bigquery/helper.py +9 -1
  739. metadata/ingestion/source/database/bigquery/metadata.py +82 -10
  740. metadata/ingestion/source/database/bigquery/queries.py +2 -1
  741. metadata/ingestion/source/database/bigquery/query_parser.py +1 -0
  742. metadata/ingestion/source/database/bigtable/metadata.py +11 -3
  743. metadata/ingestion/source/database/cassandra/__init__.py +0 -0
  744. metadata/ingestion/source/database/cassandra/connection.py +138 -0
  745. metadata/ingestion/source/database/cassandra/helpers.py +100 -0
  746. metadata/ingestion/source/database/cassandra/metadata.py +138 -0
  747. metadata/ingestion/source/database/cassandra/queries.py +45 -0
  748. metadata/ingestion/source/database/cassandra/service_spec.py +10 -0
  749. metadata/ingestion/source/database/cockroach/__init__.py +0 -0
  750. metadata/ingestion/source/database/cockroach/connection.py +71 -0
  751. metadata/ingestion/source/database/cockroach/metadata.py +206 -0
  752. metadata/ingestion/source/database/cockroach/queries.py +90 -0
  753. metadata/ingestion/source/database/cockroach/service_spec.py +4 -0
  754. metadata/ingestion/source/database/common_db_source.py +9 -0
  755. metadata/ingestion/source/database/common_nosql_source.py +78 -29
  756. metadata/ingestion/source/database/common_pg_mappings.py +49 -0
  757. metadata/ingestion/source/database/couchbase/metadata.py +8 -2
  758. metadata/ingestion/source/database/databricks/metadata.py +8 -0
  759. metadata/ingestion/source/database/datalake/metadata.py +15 -9
  760. metadata/ingestion/source/database/db2/service_spec.py +4 -1
  761. metadata/ingestion/source/database/dbt/dbt_config.py +1 -0
  762. metadata/ingestion/source/database/dbt/dbt_utils.py +1 -1
  763. metadata/ingestion/source/database/dbt/metadata.py +5 -1
  764. metadata/ingestion/source/database/doris/metadata.py +7 -2
  765. metadata/ingestion/source/database/druid/service_spec.py +5 -1
  766. metadata/ingestion/source/database/dynamodb/metadata.py +6 -3
  767. metadata/ingestion/source/database/greenplum/metadata.py +6 -37
  768. metadata/ingestion/source/database/greenplum/service_spec.py +5 -1
  769. metadata/ingestion/source/database/hive/metastore_dialects/mysql/dialect.py +35 -13
  770. metadata/ingestion/source/database/hive/metastore_dialects/postgres/dialect.py +38 -14
  771. metadata/ingestion/source/database/hive/service_spec.py +5 -1
  772. metadata/ingestion/source/database/impala/service_spec.py +5 -1
  773. metadata/ingestion/source/database/life_cycle_query_mixin.py +11 -7
  774. metadata/ingestion/source/database/lineage_source.py +76 -2
  775. metadata/ingestion/source/database/mariadb/service_spec.py +9 -1
  776. metadata/ingestion/source/database/mongodb/metadata.py +8 -3
  777. metadata/ingestion/source/database/mssql/metadata.py +68 -2
  778. metadata/ingestion/source/database/mssql/queries.py +43 -0
  779. metadata/ingestion/source/database/mysql/utils.py +5 -3
  780. metadata/ingestion/source/database/oracle/connection.py +24 -2
  781. metadata/ingestion/source/database/oracle/metadata.py +36 -19
  782. metadata/ingestion/source/database/oracle/models.py +5 -4
  783. metadata/ingestion/source/database/oracle/queries.py +22 -1
  784. metadata/ingestion/source/database/pinotdb/service_spec.py +5 -1
  785. metadata/ingestion/source/database/postgres/metadata.py +32 -56
  786. metadata/ingestion/source/database/postgres/models.py +1 -0
  787. metadata/ingestion/source/database/postgres/queries.py +18 -1
  788. metadata/ingestion/source/database/query_parser_source.py +11 -6
  789. metadata/ingestion/source/database/sample_data.py +11 -0
  790. metadata/ingestion/source/database/sample_usage.py +2 -0
  791. metadata/ingestion/source/database/saphana/lineage.py +1 -1
  792. metadata/ingestion/source/database/singlestore/service_spec.py +6 -1
  793. metadata/ingestion/source/database/snowflake/connection.py +6 -0
  794. metadata/ingestion/source/database/snowflake/constants.py +48 -0
  795. metadata/ingestion/source/database/snowflake/metadata.py +114 -3
  796. metadata/ingestion/source/database/snowflake/models.py +3 -3
  797. metadata/ingestion/source/database/snowflake/queries.py +27 -1
  798. metadata/ingestion/source/database/snowflake/query_parser.py +2 -0
  799. metadata/ingestion/source/database/snowflake/utils.py +110 -26
  800. metadata/ingestion/source/database/sql_column_handler.py +95 -60
  801. metadata/ingestion/source/database/sqlite/service_spec.py +5 -1
  802. metadata/ingestion/source/database/teradata/service_spec.py +5 -1
  803. metadata/ingestion/source/database/trino/lineage.py +95 -0
  804. metadata/ingestion/source/database/unitycatalog/connection.py +23 -0
  805. metadata/ingestion/source/database/unitycatalog/lineage.py +2 -0
  806. metadata/ingestion/source/database/unitycatalog/metadata.py +2 -0
  807. metadata/ingestion/source/database/usage_source.py +2 -0
  808. metadata/ingestion/source/messaging/messaging_service.py +2 -0
  809. metadata/ingestion/source/metadata/alationsink/metadata.py +32 -18
  810. metadata/ingestion/source/metadata/amundsen/metadata.py +7 -4
  811. metadata/ingestion/source/metadata/atlas/metadata.py +2 -1
  812. metadata/ingestion/source/mlmodel/mlmodel_service.py +2 -0
  813. metadata/ingestion/source/pipeline/airflow/metadata.py +25 -0
  814. metadata/ingestion/source/pipeline/airflow/models.py +1 -0
  815. metadata/ingestion/source/pipeline/nifi/client.py +68 -74
  816. metadata/ingestion/source/pipeline/nifi/connection.py +1 -18
  817. metadata/ingestion/source/pipeline/openlineage/metadata.py +1 -0
  818. metadata/ingestion/source/pipeline/pipeline_service.py +121 -2
  819. metadata/ingestion/source/search/opensearch/connection.py +215 -0
  820. metadata/ingestion/source/search/opensearch/metadata.py +270 -0
  821. metadata/ingestion/source/search/opensearch/parser.py +71 -0
  822. metadata/ingestion/source/search/opensearch/service_spec.py +4 -0
  823. metadata/ingestion/source/search/search_service.py +2 -0
  824. metadata/ingestion/source/storage/storage_service.py +2 -0
  825. metadata/ingestion/stage/table_usage.py +53 -1
  826. metadata/profiler/interface/sqlalchemy/unity_catalog/sampler_interface.py +3 -4
  827. metadata/profiler/orm/converter/azuresql/converter.py +39 -0
  828. metadata/profiler/orm/converter/converter_registry.py +2 -0
  829. metadata/profiler/orm/functions/length.py +2 -0
  830. metadata/profiler/orm/functions/median.py +19 -0
  831. metadata/profiler/orm/functions/modulo.py +1 -0
  832. metadata/profiler/orm/functions/random_num.py +1 -0
  833. metadata/profiler/orm/functions/sum.py +1 -0
  834. metadata/profiler/orm/registry.py +2 -0
  835. metadata/profiler/processor/core.py +1 -0
  836. metadata/profiler/processor/metric_filter.py +1 -1
  837. metadata/profiler/source/database/base/profiler_source.py +1 -0
  838. metadata/profiler/source/fetcher/fetcher_strategy.py +4 -0
  839. metadata/sampler/config.py +1 -0
  840. metadata/sampler/models.py +3 -0
  841. metadata/sampler/nosql/sampler.py +4 -0
  842. metadata/sampler/pandas/sampler.py +1 -0
  843. metadata/sampler/partition.py +9 -2
  844. metadata/sampler/sampler_interface.py +0 -1
  845. metadata/sampler/sqlalchemy/azuresql/sampler.py +30 -3
  846. metadata/sampler/sqlalchemy/mssql/sampler.py +2 -1
  847. metadata/sampler/sqlalchemy/sampler.py +51 -42
  848. metadata/sampler/sqlalchemy/snowflake/sampler.py +2 -1
  849. metadata/sampler/sqlalchemy/trino/sampler.py +9 -8
  850. metadata/utils/constants.py +1 -0
  851. metadata/utils/credentials.py +25 -4
  852. metadata/utils/elasticsearch.py +4 -0
  853. metadata/utils/helpers.py +91 -0
  854. metadata/utils/logger.py +9 -0
  855. metadata/utils/ssl_manager.py +35 -0
  856. metadata/utils/tag_utils.py +72 -27
  857. metadata/workflow/classification.py +3 -0
  858. metadata/workflow/profiler.py +13 -5
  859. metadata/workflow/workflow_status_mixin.py +6 -0
  860. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/METADATA +444 -381
  861. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/RECORD +865 -796
  862. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/LICENSE +0 -0
  863. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/WHEEL +0 -0
  864. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/entry_points.txt +0 -0
  865. {openmetadata_ingestion-1.6.7.0.dist-info → openmetadata_ingestion-1.7.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -8,6 +8,7 @@
8
8
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
9
  # See the License for the specific language governing permissions and
10
10
  # limitations under the License.
11
+ # pylint: disable=too-many-lines
11
12
  """
12
13
  Bigquery source module
13
14
  """
@@ -51,6 +52,9 @@ from metadata.generated.schema.entity.services.ingestionPipelines.status import
51
52
  from metadata.generated.schema.metadataIngestion.workflow import (
52
53
  Source as WorkflowSource,
53
54
  )
55
+ from metadata.generated.schema.security.credentials.gcpExternalAccount import (
56
+ GcpExternalAccount,
57
+ )
54
58
  from metadata.generated.schema.security.credentials.gcpValues import (
55
59
  GcpCredentialsValues,
56
60
  )
@@ -100,6 +104,7 @@ from metadata.utils import fqn
100
104
  from metadata.utils.credentials import GOOGLE_CREDENTIALS
101
105
  from metadata.utils.execution_time_tracker import calculate_execution_time
102
106
  from metadata.utils.filters import filter_by_database, filter_by_schema
107
+ from metadata.utils.helpers import retry_with_docker_host
103
108
  from metadata.utils.logger import ingestion_logger
104
109
  from metadata.utils.sqlalchemy_utils import (
105
110
  get_all_table_ddls,
@@ -165,12 +170,17 @@ def get_columns(bq_schema):
165
170
  "precision": field.precision,
166
171
  "scale": field.scale,
167
172
  "max_length": field.max_length,
168
- "system_data_type": _array_sys_data_type_repr(col_type)
169
- if str(col_type) == "ARRAY"
170
- else str(col_type),
173
+ "system_data_type": (
174
+ _array_sys_data_type_repr(col_type)
175
+ if str(col_type) == "ARRAY"
176
+ else str(col_type)
177
+ ),
171
178
  "is_complex": is_complex_type(str(col_type)),
172
179
  "policy_tags": None,
173
180
  }
181
+ if getattr(field, "fields", None):
182
+ # Nested Columns available
183
+ col_obj["children"] = get_columns(field.fields)
174
184
  try:
175
185
  if field.policy_tags:
176
186
  policy_tag_name = field.policy_tags.names[0]
@@ -226,6 +236,7 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
226
236
  Database metadata from Bigquery Source
227
237
  """
228
238
 
239
+ @retry_with_docker_host()
229
240
  def __init__(self, config, metadata, incremental_configuration: IncrementalConfig):
230
241
  # Check if the engine is established before setting project IDs
231
242
  # This ensures that we don't try to set project IDs when there is no engine
@@ -238,7 +249,7 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
238
249
  # Upon invoking the set_project_id method, we retrieve a comprehensive
239
250
  # list of all project IDs. Subsequently, after the invokation,
240
251
  # we proceed to test the connections for each of these project IDs
241
- self.project_ids = self.set_project_id()
252
+ self.project_ids = self.set_project_id(self.service_connection)
242
253
  self.life_cycle_query = BIGQUERY_LIFE_CYCLE_QUERY
243
254
  self.test_connection = self._test_connection
244
255
  self.test_connection()
@@ -271,9 +282,62 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
271
282
  return cls(config, metadata, incremental_config)
272
283
 
273
284
  @staticmethod
274
- def set_project_id() -> List[str]:
275
- _, project_ids = auth.default()
276
- return project_ids if isinstance(project_ids, list) else [project_ids]
285
+ def set_project_id(
286
+ service_connection: Optional[BigQueryConnection] = None,
287
+ ) -> List[str]:
288
+ """
289
+ Get the project ID from the service connection or ADC.
290
+
291
+ Args:
292
+ service_connection: Optional BigQuery connection config
293
+
294
+ Returns:
295
+ List of project IDs to scan
296
+
297
+ Raises:
298
+ InvalidSourceException: If unable to get project IDs from either config or ADC
299
+ """
300
+ try:
301
+
302
+ # TODO: Add support for fetching project ids from resource manager
303
+ # Bigquery resource manager for fetching project ids
304
+ # "google-cloud-resource-manager~=1.14.1",
305
+ # "grpc-google-iam-v1~=0.14.0",
306
+
307
+ # First check if project ID is configured in service connection
308
+ if (
309
+ service_connection
310
+ and hasattr(service_connection, "credentials")
311
+ and hasattr(service_connection.credentials, "gcpConfig")
312
+ ):
313
+ gcp_config = service_connection.credentials.gcpConfig
314
+ try:
315
+ # Allow for multiple project IDs in the service connection
316
+ if not isinstance(gcp_config, GcpExternalAccount) and getattr(
317
+ gcp_config, "projectId", None
318
+ ):
319
+ if isinstance(gcp_config.projectId.root, list):
320
+ return gcp_config.projectId.root
321
+ return [gcp_config.projectId.root]
322
+ except Exception as exc:
323
+ logger.warning(f"Error getting project ID, falling back: {exc}")
324
+
325
+ # Fallback to ADC default project
326
+ try:
327
+ _, project_id = auth.default()
328
+ if project_id:
329
+ return [project_id] if isinstance(project_id, str) else project_id
330
+ except Exception as exc:
331
+ logger.warning(f"Error getting default project from ADC: {exc}")
332
+
333
+ raise InvalidSourceException(
334
+ "Unable to get project IDs. Either configure project IDs in the connection or "
335
+ "ensure Application Default Credentials are set up correctly."
336
+ )
337
+
338
+ except Exception as exc:
339
+ logger.debug(traceback.format_exc())
340
+ raise InvalidSourceException(f"Error setting BigQuery project IDs: {exc}")
277
341
 
278
342
  def _test_connection(self) -> None:
279
343
  for project_id in self.project_ids:
@@ -367,6 +431,8 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
367
431
  tag_description="Bigquery Dataset Label",
368
432
  classification_description="BigQuery Dataset Classification",
369
433
  include_tags=self.source_config.includeTags,
434
+ metadata=self.metadata,
435
+ system_tags=True,
370
436
  )
371
437
  # Fetching policy tags on the column level
372
438
  list_project_ids = [self.context.get().database]
@@ -387,6 +453,8 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
387
453
  tag_description="Bigquery Policy Tag",
388
454
  classification_description="BigQuery Policy Classification",
389
455
  include_tags=self.source_config.includeTags,
456
+ metadata=self.metadata,
457
+ system_tags=True,
390
458
  )
391
459
  except Exception as exc:
392
460
  yield Either(
@@ -529,6 +597,8 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
529
597
  tag_description="Bigquery Table Label",
530
598
  classification_description="BigQuery Table Classification",
531
599
  include_tags=self.source_config.includeTags,
600
+ metadata=self.metadata,
601
+ system_tags=True,
532
602
  )
533
603
 
534
604
  def get_tag_labels(self, table_name: str) -> Optional[List[TagLabel]]:
@@ -751,9 +821,11 @@ class BigquerySource(LifeCycleQueryMixin, CommonDbSourceService, MultiDBSource):
751
821
  return True, TablePartition(
752
822
  columns=[
753
823
  PartitionColumnDetails(
754
- columnName="_PARTITIONTIME"
755
- if table.time_partitioning.type_ == "HOUR"
756
- else "_PARTITIONDATE",
824
+ columnName=(
825
+ "_PARTITIONTIME"
826
+ if table.time_partitioning.type_ == "HOUR"
827
+ else "_PARTITIONDATE"
828
+ ),
757
829
  interval=str(table.time_partitioning.type_),
758
830
  intervalType=PartitionIntervalTypes.INGESTION_TIME,
759
831
  )
@@ -32,7 +32,8 @@ BIGQUERY_STATEMENT = textwrap.dedent(
32
32
  end_time,
33
33
  query as query_text,
34
34
  null as schema_name,
35
- total_slot_ms as duration
35
+ total_slot_ms as duration,
36
+ (total_bytes_billed / POWER(2, 40)) * {cost_per_tib} as cost
36
37
  FROM `region-{region}`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
37
38
  WHERE creation_time BETWEEN "{start_time}" AND "{end_time}"
38
39
  {filters}
@@ -66,6 +66,7 @@ class BigqueryQueryParserSource(QueryParserSource, ABC):
66
66
  region=self.service_connection.usageLocation,
67
67
  filters=self.get_filters(),
68
68
  result_limit=self.source_config.resultLimit,
69
+ cost_per_tib=self.service_connection.costPerTB,
69
70
  )
70
71
 
71
72
  @staticmethod
@@ -36,7 +36,10 @@ from metadata.ingestion.source.database.bigtable.models import Row
36
36
  from metadata.ingestion.source.database.common_nosql_source import (
37
37
  SAMPLE_SIZE as GLOBAL_SAMPLE_SIZE,
38
38
  )
39
- from metadata.ingestion.source.database.common_nosql_source import CommonNoSQLSource
39
+ from metadata.ingestion.source.database.common_nosql_source import (
40
+ CommonNoSQLSource,
41
+ TableNameAndType,
42
+ )
40
43
  from metadata.ingestion.source.database.multi_db_source import MultiDBSource
41
44
  from metadata.utils.logger import ingestion_logger
42
45
 
@@ -114,7 +117,9 @@ class BigtableSource(CommonNoSQLSource, MultiDBSource):
114
117
  )
115
118
  raise
116
119
 
117
- def get_table_name_list(self, schema_name: str) -> List[str]:
120
+ def query_table_names_and_types(
121
+ self, schema_name: str
122
+ ) -> Iterable[TableNameAndType]:
118
123
  project_id = self.context.get().database
119
124
  try:
120
125
  instance = self._get_instance(project_id, schema_name)
@@ -127,7 +132,10 @@ class BigtableSource(CommonNoSQLSource, MultiDBSource):
127
132
  [project_id, instance.instance_id, table.table_id],
128
133
  table,
129
134
  )
130
- return list(self.tables[project_id][schema_name].keys())
135
+ return [
136
+ TableNameAndType(name=table)
137
+ for table in self.tables[project_id][schema_name].keys()
138
+ ]
131
139
  except Exception as err:
132
140
  logger.debug(traceback.format_exc())
133
141
  # add context to the error message
@@ -0,0 +1,138 @@
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
+ Source connection handler
14
+ """
15
+ from functools import partial
16
+ from typing import Optional
17
+
18
+ from cassandra.auth import PlainTextAuthProvider
19
+ from cassandra.cluster import (
20
+ EXEC_PROFILE_DEFAULT,
21
+ Cluster,
22
+ ExecutionProfile,
23
+ ProtocolVersion,
24
+ )
25
+ from cassandra.cluster import Session as CassandraSession
26
+ from pydantic import BaseModel
27
+
28
+ from metadata.generated.schema.entity.automations.workflow import (
29
+ Workflow as AutomationWorkflow,
30
+ )
31
+ from metadata.generated.schema.entity.services.connections.database.cassandraConnection import (
32
+ CassandraConnection,
33
+ )
34
+ from metadata.generated.schema.entity.services.connections.testConnectionResult import (
35
+ TestConnectionResult,
36
+ )
37
+ from metadata.ingestion.connections.builders import init_empty_connection_arguments
38
+ from metadata.ingestion.connections.test_connections import test_connection_steps
39
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
40
+ from metadata.ingestion.source.database.cassandra.queries import (
41
+ CASSANDRA_GET_KEYSPACE_MATERIALIZED_VIEWS,
42
+ CASSANDRA_GET_KEYSPACE_TABLES,
43
+ CASSANDRA_GET_KEYSPACES,
44
+ CASSANDRA_GET_RELEASE_VERSION,
45
+ )
46
+ from metadata.utils.constants import THREE_MIN
47
+
48
+
49
+ def get_connection(connection: CassandraConnection):
50
+ """
51
+ Create connection
52
+ """
53
+
54
+ cluster_config = {}
55
+ if hasattr(connection.authType, "cloudConfig"):
56
+ cloud_config = connection.authType.cloudConfig
57
+ cluster_cloud_config = {
58
+ "connect_timeout": cloud_config.connectTimeout,
59
+ "use_default_tempdir": True,
60
+ "secure_connect_bundle": cloud_config.secureConnectBundle,
61
+ }
62
+ profile = ExecutionProfile(request_timeout=cloud_config.requestTimeout)
63
+ auth_provider = PlainTextAuthProvider("token", cloud_config.token)
64
+ cluster_config.update(
65
+ {
66
+ "cloud": cluster_cloud_config,
67
+ "auth_provider": auth_provider,
68
+ "execution_profiles": {EXEC_PROFILE_DEFAULT: profile},
69
+ "protocol_version": ProtocolVersion.V4,
70
+ }
71
+ )
72
+ else:
73
+ host, port = connection.hostPort.split(":")
74
+ cluster_config.update({"contact_points": [host], "port": port})
75
+ if connection.username and getattr(connection.authType, "password", None):
76
+ cluster_config["auth_provider"] = PlainTextAuthProvider(
77
+ username=connection.username,
78
+ password=connection.authType.password.get_secret_value(),
79
+ )
80
+
81
+ connection.connectionArguments = (
82
+ connection.connectionArguments or init_empty_connection_arguments()
83
+ )
84
+
85
+ cluster = Cluster(
86
+ **cluster_config,
87
+ ssl_context=connection.connectionArguments.root.get("ssl_context"),
88
+ )
89
+ session = cluster.connect()
90
+
91
+ return session
92
+
93
+
94
+ def test_connection(
95
+ metadata: OpenMetadata,
96
+ session: CassandraSession,
97
+ service_connection: CassandraConnection,
98
+ automation_workflow: Optional[AutomationWorkflow] = None,
99
+ timeout_seconds: Optional[int] = THREE_MIN,
100
+ ) -> TestConnectionResult:
101
+ """
102
+ Test connection. This can be executed either as part
103
+ of a metadata workflow or during an Automation Workflow
104
+ """
105
+
106
+ class SchemaHolder(BaseModel):
107
+ schema: Optional[str] = None
108
+
109
+ holder = SchemaHolder()
110
+
111
+ def test_get_release_version(session: CassandraConnection):
112
+ session.execute(CASSANDRA_GET_RELEASE_VERSION)
113
+
114
+ def test_get_schemas(session: CassandraSession, holder_: SchemaHolder):
115
+ for keyspace in session.execute(CASSANDRA_GET_KEYSPACES):
116
+ holder_.schema = keyspace.keyspace_name
117
+ break
118
+
119
+ def test_get_tables(session: CassandraSession, holder_: SchemaHolder):
120
+ session.execute(CASSANDRA_GET_KEYSPACE_TABLES, [holder_.schema])
121
+
122
+ def test_get_views(session: CassandraSession, holder_: SchemaHolder):
123
+ session.execute(CASSANDRA_GET_KEYSPACE_MATERIALIZED_VIEWS, [holder_.schema])
124
+
125
+ test_fn = {
126
+ "CheckAccess": partial(test_get_release_version, session),
127
+ "GetSchemas": partial(test_get_schemas, session, holder),
128
+ "GetTables": partial(test_get_tables, session, holder),
129
+ "GetViews": partial(test_get_views, session, holder),
130
+ }
131
+
132
+ return test_connection_steps(
133
+ metadata=metadata,
134
+ test_fn=test_fn,
135
+ service_type=service_connection.type.value,
136
+ automation_workflow=automation_workflow,
137
+ timeout_seconds=timeout_seconds,
138
+ )
@@ -0,0 +1,100 @@
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
+ Cassandra source helpers.
13
+ """
14
+ from __future__ import annotations
15
+
16
+ from metadata.generated.schema.entity.data.table import Column, DataType
17
+
18
+
19
+ class CassandraColumnParser:
20
+ """
21
+ Responsible for containing the logic to parse a column from Cassandra to OpenMetadata
22
+ """
23
+
24
+ datatype_mapping = {
25
+ "ascii": DataType.STRING,
26
+ "bigint": DataType.BIGINT,
27
+ "blob": DataType.BLOB,
28
+ "boolean": DataType.BOOLEAN,
29
+ "date": DataType.DATE,
30
+ "decimal": DataType.DECIMAL,
31
+ "double": DataType.DOUBLE,
32
+ "duration": DataType.INTERVAL,
33
+ "float": DataType.FLOAT,
34
+ "uuid": DataType.UUID,
35
+ "inet": DataType.INET,
36
+ "int": DataType.INT,
37
+ "list": DataType.ARRAY,
38
+ "map": DataType.MAP,
39
+ "set": DataType.SET,
40
+ "smallint": DataType.SMALLINT,
41
+ "text": DataType.TEXT,
42
+ "time": DataType.TIME,
43
+ "timestamp": DataType.TIMESTAMP,
44
+ "timeuuid": DataType.UUID,
45
+ "tinyint": DataType.TINYINT,
46
+ "tuple": DataType.TUPLE,
47
+ "varint": DataType.STRING,
48
+ "struct": DataType.STRUCT,
49
+ }
50
+
51
+ @classmethod
52
+ def parse(cls, field) -> Column:
53
+ """
54
+ Parses a Cassandra table column into an OpenMetadata column.
55
+ """
56
+
57
+ data_type = None
58
+ array_data_type = None
59
+ raw_data_type = ""
60
+
61
+ for letter in field.type:
62
+ if letter == "<":
63
+ if raw_data_type in ("", "frozen"):
64
+ raw_data_type = ""
65
+ continue
66
+
67
+ if not data_type:
68
+ data_type = cls.datatype_mapping.get(
69
+ raw_data_type.lower(), DataType.UNKNOWN
70
+ )
71
+ elif not array_data_type:
72
+ array_data_type = cls.datatype_mapping.get(
73
+ raw_data_type.lower(), DataType.UNKNOWN
74
+ )
75
+
76
+ raw_data_type = ""
77
+ if data_type != DataType.ARRAY or array_data_type:
78
+ break
79
+
80
+ elif letter == ">":
81
+ if not array_data_type and data_type:
82
+ array_data_type = cls.datatype_mapping.get(
83
+ raw_data_type.lower(), DataType.UNKNOWN
84
+ )
85
+ break
86
+
87
+ else:
88
+ raw_data_type += letter
89
+
90
+ if not data_type:
91
+ data_type = cls.datatype_mapping.get(field.type.lower(), DataType.UNKNOWN)
92
+
93
+ column_def = {
94
+ "name": field.column_name,
95
+ "dataTypeDisplay": field.type,
96
+ "dataType": data_type,
97
+ "arrayDataType": array_data_type,
98
+ }
99
+
100
+ return Column(**column_def)
@@ -0,0 +1,138 @@
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
+ Cassandra source methods.
13
+ """
14
+
15
+ import traceback
16
+ from typing import Iterable, List, Optional
17
+
18
+ from metadata.generated.schema.entity.data.table import Column, TableType
19
+ from metadata.generated.schema.entity.services.connections.database.cassandraConnection import (
20
+ CassandraConnection,
21
+ )
22
+ from metadata.generated.schema.metadataIngestion.workflow import (
23
+ Source as WorkflowSource,
24
+ )
25
+ from metadata.ingestion.api.steps import InvalidSourceException
26
+ from metadata.ingestion.ometa.ometa_api import OpenMetadata
27
+ from metadata.ingestion.source.database.cassandra.helpers import CassandraColumnParser
28
+ from metadata.ingestion.source.database.cassandra.queries import (
29
+ CASSANDRA_GET_KEYSPACE_MATERIALIZED_VIEWS,
30
+ CASSANDRA_GET_KEYSPACE_TABLES,
31
+ CASSANDRA_GET_KEYSPACES,
32
+ CASSANDRA_GET_TABLE_COLUMNS,
33
+ )
34
+ from metadata.ingestion.source.database.common_nosql_source import (
35
+ CommonNoSQLSource,
36
+ TableNameAndType,
37
+ )
38
+ from metadata.utils.logger import ingestion_logger
39
+
40
+ logger = ingestion_logger()
41
+
42
+
43
+ class CassandraSource(CommonNoSQLSource):
44
+ """
45
+ Implements the necessary methods to extract
46
+ Database metadata from Dynamo Source
47
+ """
48
+
49
+ def __init__(self, config: WorkflowSource, metadata: OpenMetadata):
50
+ super().__init__(config, metadata)
51
+ self.cassandra = self.connection_obj
52
+
53
+ @classmethod
54
+ def create(
55
+ cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
56
+ ):
57
+ config: WorkflowSource = WorkflowSource.model_validate(config_dict)
58
+ connection: CassandraConnection = config.serviceConnection.root.config
59
+ if not isinstance(connection, CassandraConnection):
60
+ raise InvalidSourceException(
61
+ f"Expected CassandraConnection, but got {connection}"
62
+ )
63
+ return cls(config, metadata)
64
+
65
+ def get_schema_name_list(self) -> List[str]:
66
+ """
67
+ Method to get list of schema names available within NoSQL db
68
+ need to be overridden by sources
69
+ """
70
+ schema_names = []
71
+ try:
72
+ schema_names = [
73
+ row.keyspace_name
74
+ for row in self.cassandra.execute(CASSANDRA_GET_KEYSPACES)
75
+ ]
76
+ except Exception as exp:
77
+ logger.debug(f"Failed to list keyspace names: {exp}")
78
+ logger.debug(traceback.format_exc())
79
+
80
+ return schema_names
81
+
82
+ def query_table_names_and_types(
83
+ self, schema_name: str
84
+ ) -> Iterable[TableNameAndType]:
85
+ """
86
+ Method to get list of table names available within schema db
87
+ need to be overridden by sources
88
+ """
89
+ tables = []
90
+ try:
91
+ tables = [
92
+ TableNameAndType(name=row.table_name)
93
+ for row in self.cassandra.execute(
94
+ CASSANDRA_GET_KEYSPACE_TABLES, [schema_name]
95
+ )
96
+ ]
97
+ except Exception as exp:
98
+ logger.debug(
99
+ f"Failed to list table names for schema [{schema_name}]: {exp}"
100
+ )
101
+ logger.debug(traceback.format_exc())
102
+
103
+ return tables
104
+
105
+ def query_view_names_and_types(
106
+ self, schema_name: str
107
+ ) -> Iterable[TableNameAndType]:
108
+ """
109
+ Method to get list of materialized view names available within schema db
110
+ need to be overridden by sources
111
+ """
112
+ materialized_views = []
113
+ try:
114
+ materialized_views = [
115
+ TableNameAndType(name=row.view_name, type_=TableType.MaterializedView)
116
+ for row in self.cassandra.execute(
117
+ CASSANDRA_GET_KEYSPACE_MATERIALIZED_VIEWS, [schema_name]
118
+ )
119
+ ]
120
+ except Exception as exp:
121
+ logger.debug(
122
+ f"Failed to list materialized view names for schema [{schema_name}]: {exp}"
123
+ )
124
+ logger.debug(traceback.format_exc())
125
+
126
+ return materialized_views
127
+
128
+ def get_table_columns(self, schema_name: str, table_name: str) -> List[Column]:
129
+ try:
130
+ data = self.cassandra.execute(
131
+ CASSANDRA_GET_TABLE_COLUMNS, [schema_name, table_name]
132
+ )
133
+ return [CassandraColumnParser.parse(field=field) for field in data]
134
+ except Exception as opf:
135
+ logger.debug(f"Failed to read table [{table_name}]: {opf}")
136
+ logger.debug(traceback.format_exc())
137
+
138
+ return []
@@ -0,0 +1,45 @@
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
+ SQL Queries used during ingestion
13
+ """
14
+
15
+ import textwrap
16
+
17
+ CASSANDRA_GET_RELEASE_VERSION = textwrap.dedent(
18
+ """
19
+ SELECT release_version FROM system.local;
20
+ """
21
+ )
22
+
23
+ CASSANDRA_GET_KEYSPACES = textwrap.dedent(
24
+ """
25
+ SELECT * FROM system_schema.keyspaces
26
+ """
27
+ )
28
+
29
+ CASSANDRA_GET_KEYSPACE_TABLES = textwrap.dedent(
30
+ """
31
+ SELECT * FROM system_schema.tables WHERE keyspace_name = %s
32
+ """
33
+ )
34
+
35
+ CASSANDRA_GET_KEYSPACE_MATERIALIZED_VIEWS = textwrap.dedent(
36
+ """
37
+ SELECT * FROM system_schema.views WHERE keyspace_name = %s
38
+ """
39
+ )
40
+
41
+ CASSANDRA_GET_TABLE_COLUMNS = textwrap.dedent(
42
+ """
43
+ SELECT * FROM system_schema.columns WHERE keyspace_name = %s AND table_name = %s
44
+ """
45
+ )
@@ -0,0 +1,10 @@
1
+ from metadata.ingestion.source.database.cassandra.metadata import CassandraSource
2
+ from metadata.profiler.interface.nosql.profiler_interface import NoSQLProfilerInterface
3
+ from metadata.sampler.nosql.sampler import NoSQLSampler
4
+ from metadata.utils.service_spec.default import DefaultDatabaseSpec
5
+
6
+ ServiceSpec = DefaultDatabaseSpec(
7
+ metadata_source_class=CassandraSource,
8
+ profiler_class=NoSQLProfilerInterface,
9
+ sampler_class=NoSQLSampler,
10
+ )