openmetadata-ingestion 1.3.3.0rc2__py3-none-any.whl → 1.4.0.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (989) hide show
  1. metadata/__version__.py +13 -0
  2. metadata/automations/runner.py +9 -0
  3. metadata/cli/app.py +0 -1
  4. metadata/cli/lineage.py +5 -1
  5. metadata/cli/restore.py +7 -0
  6. metadata/cmd.py +2 -345
  7. metadata/data_insight/processor/reports/cost_analysis_report_data_processor.py +0 -1
  8. metadata/data_insight/processor/reports/web_analytic_report_data_processor.py +12 -5
  9. metadata/data_quality/api/models.py +1 -0
  10. metadata/data_quality/processor/test_case_runner.py +9 -2
  11. metadata/data_quality/source/test_suite.py +14 -3
  12. metadata/data_quality/validations/base_test_handler.py +1 -1
  13. metadata/data_quality/validations/column/base/columnValuesMissingCount.py +4 -1
  14. metadata/data_quality/validations/column/sqlalchemy/columnValuesToBeUnique.py +28 -17
  15. metadata/data_quality/validations/mixins/sqa_validator_mixin.py +4 -1
  16. metadata/data_quality/validations/table/base/tableCustomSQLQuery.py +1 -1
  17. metadata/examples/workflows/airbyte.yaml +1 -0
  18. metadata/examples/workflows/airflow.yaml +1 -1
  19. metadata/examples/workflows/airflow_backend.yaml +1 -1
  20. metadata/examples/workflows/airflow_postgres.yaml +1 -1
  21. metadata/examples/workflows/amundsen.yaml +1 -0
  22. metadata/examples/workflows/athena.yaml +1 -0
  23. metadata/examples/workflows/athena_lineage.yaml +1 -1
  24. metadata/examples/workflows/athena_usage.yaml +1 -0
  25. metadata/examples/workflows/atlas.yaml +1 -0
  26. metadata/examples/workflows/azuresql.yaml +1 -0
  27. metadata/examples/workflows/azuresql_lineage.yaml +1 -0
  28. metadata/examples/workflows/azuresql_usage.yaml +1 -0
  29. metadata/examples/workflows/bigquery.yaml +1 -0
  30. metadata/examples/workflows/bigquery_lineage.yaml +1 -0
  31. metadata/examples/workflows/bigquery_profiler.yaml +1 -0
  32. metadata/examples/workflows/bigquery_usage.yaml +1 -0
  33. metadata/examples/workflows/bigtable.yaml +1 -1
  34. metadata/examples/workflows/clickhouse.yaml +1 -0
  35. metadata/examples/workflows/clickhouse_lineage.yaml +1 -0
  36. metadata/examples/workflows/clickhouse_usage.yaml +1 -0
  37. metadata/examples/workflows/couchbase.yaml +1 -1
  38. metadata/examples/workflows/dagster.yaml +1 -0
  39. metadata/examples/workflows/data_insight.yaml +1 -1
  40. metadata/examples/workflows/databricks.yaml +1 -0
  41. metadata/examples/workflows/databricks_lineage.yaml +1 -0
  42. metadata/examples/workflows/databricks_pipeline.yaml +1 -0
  43. metadata/examples/workflows/databricks_usage.yaml +1 -0
  44. metadata/examples/workflows/datalake_azure_client_secret.yaml +1 -0
  45. metadata/examples/workflows/datalake_gcs.yaml +1 -0
  46. metadata/examples/workflows/datalake_profiler.yaml +1 -0
  47. metadata/examples/workflows/datalake_s3.yaml +1 -0
  48. metadata/examples/workflows/db2.yaml +1 -0
  49. metadata/examples/workflows/db2_profiler.yaml +1 -0
  50. metadata/examples/workflows/dbt.yaml +2 -0
  51. metadata/examples/workflows/deltalake.yaml +1 -0
  52. metadata/examples/workflows/domodashboard.yaml +1 -0
  53. metadata/examples/workflows/dynamodb.yaml +1 -0
  54. metadata/examples/workflows/elasticsearch.yaml +1 -1
  55. metadata/examples/workflows/fivetran.yaml +1 -0
  56. metadata/examples/workflows/glue.yaml +1 -0
  57. metadata/examples/workflows/gluepipeline.yaml +1 -0
  58. metadata/examples/workflows/hive.yaml +1 -0
  59. metadata/examples/workflows/impala.yaml +1 -0
  60. metadata/examples/workflows/kafka.yaml +1 -1
  61. metadata/examples/workflows/kafka_connect.yaml +30 -0
  62. metadata/examples/workflows/kinesis.yaml +1 -1
  63. metadata/examples/workflows/lightdash.yaml +1 -0
  64. metadata/examples/workflows/looker.yaml +1 -0
  65. metadata/examples/workflows/mariadb.yaml +1 -0
  66. metadata/examples/workflows/metabase.yaml +1 -0
  67. metadata/examples/workflows/mlflow.yaml +1 -0
  68. metadata/examples/workflows/mode.yaml +3 -1
  69. metadata/examples/workflows/mongodb.yaml +1 -0
  70. metadata/examples/workflows/mssql.yaml +1 -0
  71. metadata/examples/workflows/mssql_lineage.yaml +1 -0
  72. metadata/examples/workflows/mssql_usage.yaml +1 -0
  73. metadata/examples/workflows/mstr.yaml +1 -0
  74. metadata/examples/workflows/mysql.yaml +1 -0
  75. metadata/examples/workflows/mysql_profiler.yaml +1 -0
  76. metadata/examples/workflows/openmetadata.yaml +1 -0
  77. metadata/examples/workflows/oracle.yaml +1 -0
  78. metadata/examples/workflows/oracle_lineage.yaml +1 -1
  79. metadata/examples/workflows/oracle_usage.yaml +1 -0
  80. metadata/examples/workflows/pinotdb.yaml +1 -0
  81. metadata/examples/workflows/postgres.yaml +1 -0
  82. metadata/examples/workflows/postgres_lineage.yaml +1 -1
  83. metadata/examples/workflows/postgres_usage.yaml +1 -1
  84. metadata/examples/workflows/powerbi.yaml +52 -0
  85. metadata/examples/workflows/presto.yaml +1 -0
  86. metadata/examples/workflows/qlik_sense.yaml +6 -4
  87. metadata/examples/workflows/qlikcloud.yaml +31 -0
  88. metadata/examples/workflows/query_log_usage.yaml +1 -0
  89. metadata/examples/workflows/quicksight.yaml +1 -0
  90. metadata/examples/workflows/redash.yaml +1 -0
  91. metadata/examples/workflows/redpanda.yaml +1 -0
  92. metadata/examples/workflows/redshift.yaml +1 -0
  93. metadata/examples/workflows/redshift_lineage.yaml +1 -0
  94. metadata/examples/workflows/redshift_profiler.yaml +1 -0
  95. metadata/examples/workflows/redshift_usage.yaml +1 -0
  96. metadata/examples/workflows/sagemaker.yaml +1 -1
  97. metadata/examples/workflows/salesforce.yaml +1 -0
  98. metadata/examples/workflows/sas.yaml +1 -1
  99. metadata/examples/workflows/singlestore.yaml +1 -0
  100. metadata/examples/workflows/snowflake.yaml +1 -0
  101. metadata/examples/workflows/snowflake_lineage.yaml +1 -0
  102. metadata/examples/workflows/snowflake_usage.yaml +1 -0
  103. metadata/examples/workflows/spline.yaml +5 -4
  104. metadata/examples/workflows/sqlite.yaml +1 -0
  105. metadata/examples/workflows/superset.yaml +1 -0
  106. metadata/examples/workflows/tableau.yaml +1 -0
  107. metadata/examples/workflows/test_suite.yaml +13 -16
  108. metadata/examples/workflows/trino.yaml +1 -0
  109. metadata/examples/workflows/trino_lineage.yaml +1 -0
  110. metadata/examples/workflows/trino_usage.yaml +1 -0
  111. metadata/examples/workflows/unity_catalog.yaml +1 -1
  112. metadata/examples/workflows/unity_catalog_lineage.yaml +1 -1
  113. metadata/examples/workflows/unity_catalog_usage.yaml +1 -1
  114. metadata/examples/workflows/vertica.yaml +1 -0
  115. metadata/generated/antlr/EntityLinkLexer.py +354 -349
  116. metadata/generated/schema/analytics/__init__.py +1 -1
  117. metadata/generated/schema/analytics/basic.py +1 -1
  118. metadata/generated/schema/analytics/reportData.py +1 -1
  119. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  120. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  121. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  122. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  123. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  124. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  125. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  126. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  127. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  128. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  129. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  130. metadata/generated/schema/api/__init__.py +1 -1
  131. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  132. metadata/generated/schema/api/analytics/__init__.py +1 -1
  133. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  134. metadata/generated/schema/api/automations/__init__.py +1 -1
  135. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  136. metadata/generated/schema/api/bulkAssets.py +1 -1
  137. metadata/generated/schema/api/classification/__init__.py +1 -1
  138. metadata/generated/schema/api/classification/createClassification.py +2 -3
  139. metadata/generated/schema/api/classification/createTag.py +2 -3
  140. metadata/generated/schema/api/classification/loadTags.py +1 -1
  141. metadata/generated/schema/api/createBot.py +1 -1
  142. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  143. metadata/generated/schema/api/createType.py +1 -1
  144. metadata/generated/schema/api/data/__init__.py +1 -1
  145. metadata/generated/schema/api/data/createChart.py +1 -1
  146. metadata/generated/schema/api/data/createContainer.py +4 -1
  147. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  148. metadata/generated/schema/api/data/createDashboard.py +1 -1
  149. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  150. metadata/generated/schema/api/data/createDatabase.py +1 -1
  151. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  152. metadata/generated/schema/api/data/createGlossary.py +1 -1
  153. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  154. metadata/generated/schema/api/data/createMlModel.py +1 -1
  155. metadata/generated/schema/api/data/createPipeline.py +1 -1
  156. metadata/generated/schema/api/data/createQuery.py +1 -1
  157. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  158. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  159. metadata/generated/schema/api/data/createTable.py +4 -3
  160. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  161. metadata/generated/schema/api/data/createTopic.py +1 -1
  162. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  163. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  164. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  165. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  166. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  167. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  168. metadata/generated/schema/api/docStore/__init__.py +1 -1
  169. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  170. metadata/generated/schema/api/domains/__init__.py +1 -1
  171. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  172. metadata/generated/schema/api/domains/createDomain.py +1 -1
  173. metadata/generated/schema/api/feed/__init__.py +1 -1
  174. metadata/generated/schema/api/feed/closeTask.py +1 -1
  175. metadata/generated/schema/api/feed/createPost.py +1 -1
  176. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  177. metadata/generated/schema/api/feed/createThread.py +1 -1
  178. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  179. metadata/generated/schema/api/feed/threadCount.py +1 -1
  180. metadata/generated/schema/api/lineage/__init__.py +1 -1
  181. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  182. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  183. metadata/generated/schema/api/policies/__init__.py +1 -1
  184. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  185. metadata/generated/schema/api/services/__init__.py +1 -1
  186. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  187. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  188. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  189. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  190. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  191. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  192. metadata/generated/schema/api/services/createSearchService.py +1 -1
  193. metadata/generated/schema/api/services/createStorageService.py +1 -1
  194. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  195. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  196. metadata/generated/schema/api/setOwner.py +1 -1
  197. metadata/generated/schema/api/teams/__init__.py +1 -1
  198. metadata/generated/schema/api/teams/createPersona.py +1 -1
  199. metadata/generated/schema/api/teams/createRole.py +1 -1
  200. metadata/generated/schema/api/teams/createTeam.py +1 -1
  201. metadata/generated/schema/api/teams/createUser.py +2 -2
  202. metadata/generated/schema/api/tests/__init__.py +1 -1
  203. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  204. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  205. metadata/generated/schema/api/tests/createTestCase.py +2 -2
  206. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  207. metadata/generated/schema/api/tests/createTestDefinition.py +2 -2
  208. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  209. metadata/generated/schema/api/voteRequest.py +1 -1
  210. metadata/generated/schema/auth/__init__.py +1 -1
  211. metadata/generated/schema/auth/basicAuth.py +1 -1
  212. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  213. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  214. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  215. metadata/generated/schema/auth/emailRequest.py +1 -1
  216. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  217. metadata/generated/schema/auth/generateToken.py +1 -1
  218. metadata/generated/schema/auth/jwtAuth.py +1 -1
  219. metadata/generated/schema/auth/loginRequest.py +1 -1
  220. metadata/generated/schema/auth/logoutRequest.py +1 -1
  221. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  222. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  223. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  224. metadata/generated/schema/auth/refreshToken.py +1 -1
  225. metadata/generated/schema/auth/registrationRequest.py +1 -1
  226. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  227. metadata/generated/schema/auth/revokeToken.py +1 -1
  228. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  229. metadata/generated/schema/auth/ssoAuth.py +1 -1
  230. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  231. metadata/generated/schema/configuration/__init__.py +1 -1
  232. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  233. metadata/generated/schema/configuration/authConfig.py +1 -1
  234. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  235. metadata/generated/schema/configuration/authorizerConfiguration.py +4 -1
  236. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  237. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  238. metadata/generated/schema/configuration/elasticSearchConfiguration.py +4 -1
  239. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  240. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  241. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  242. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  243. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  244. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  245. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  246. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  247. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  248. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  249. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  250. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  251. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  252. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  253. metadata/generated/schema/configuration/profilerConfiguration.py +66 -0
  254. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  255. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  256. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  257. metadata/generated/schema/configuration/themeConfiguration.py +32 -0
  258. metadata/generated/schema/configuration/uiThemePreference.py +23 -0
  259. metadata/generated/schema/dataInsight/__init__.py +1 -1
  260. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  261. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  262. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  263. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  264. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  265. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  266. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  267. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  268. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  269. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  270. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  271. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  272. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  273. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  274. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithDescriptionByType.py +1 -1
  275. metadata/generated/schema/dataInsight/type/percentageOfEntitiesWithOwnerByType.py +1 -1
  276. metadata/generated/schema/dataInsight/type/percentageOfServicesWithDescription.py +1 -1
  277. metadata/generated/schema/dataInsight/type/percentageOfServicesWithOwner.py +1 -1
  278. metadata/generated/schema/dataInsight/type/totalEntitiesByTier.py +1 -1
  279. metadata/generated/schema/dataInsight/type/totalEntitiesByType.py +1 -1
  280. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  281. metadata/generated/schema/email/__init__.py +1 -1
  282. metadata/generated/schema/email/emailRequest.py +1 -1
  283. metadata/generated/schema/email/smtpSettings.py +3 -3
  284. metadata/generated/schema/entity/__init__.py +1 -1
  285. metadata/generated/schema/entity/applications/__init__.py +1 -1
  286. metadata/generated/schema/entity/applications/app.py +1 -1
  287. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  288. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  289. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +3 -3
  290. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  291. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +5 -0
  292. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +36 -0
  293. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +31 -0
  294. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +31 -0
  295. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +36 -0
  296. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +31 -0
  297. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +28 -0
  298. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +22 -0
  299. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +30 -0
  300. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +22 -0
  301. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +22 -0
  302. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +31 -0
  303. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +22 -0
  304. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +75 -0
  305. metadata/generated/schema/entity/applications/configuration/external/metaPilotAppConfig.py +1 -1
  306. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  307. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  308. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  309. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  310. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  311. metadata/generated/schema/entity/applications/configuration/private/external/metaPilotAppPrivateConfig.py +1 -1
  312. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  313. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  314. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  315. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  316. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  317. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  318. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  319. metadata/generated/schema/entity/automations/__init__.py +1 -1
  320. metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
  321. metadata/generated/schema/entity/automations/workflow.py +1 -1
  322. metadata/generated/schema/entity/bot.py +1 -1
  323. metadata/generated/schema/entity/classification/__init__.py +1 -1
  324. metadata/generated/schema/entity/classification/classification.py +2 -3
  325. metadata/generated/schema/entity/classification/tag.py +3 -9
  326. metadata/generated/schema/entity/data/__init__.py +1 -1
  327. metadata/generated/schema/entity/data/chart.py +1 -1
  328. metadata/generated/schema/entity/data/container.py +4 -1
  329. metadata/generated/schema/entity/data/dashboard.py +1 -1
  330. metadata/generated/schema/entity/data/dashboardDataModel.py +2 -2
  331. metadata/generated/schema/entity/data/database.py +1 -1
  332. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  333. metadata/generated/schema/entity/data/glossary.py +1 -1
  334. metadata/generated/schema/entity/data/glossaryTerm.py +4 -1
  335. metadata/generated/schema/entity/data/metrics.py +1 -1
  336. metadata/generated/schema/entity/data/mlmodel.py +2 -2
  337. metadata/generated/schema/entity/data/pipeline.py +1 -1
  338. metadata/generated/schema/entity/data/query.py +1 -1
  339. metadata/generated/schema/entity/data/report.py +1 -1
  340. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  341. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  342. metadata/generated/schema/entity/data/table.py +26 -24
  343. metadata/generated/schema/entity/data/topic.py +1 -1
  344. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  345. metadata/generated/schema/entity/docStore/document.py +1 -1
  346. metadata/generated/schema/entity/domains/__init__.py +1 -1
  347. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  348. metadata/generated/schema/entity/domains/domain.py +1 -1
  349. metadata/generated/schema/entity/events/__init__.py +1 -1
  350. metadata/generated/schema/entity/events/webhook.py +1 -1
  351. metadata/generated/schema/entity/feed/__init__.py +1 -1
  352. metadata/generated/schema/entity/feed/assets.py +18 -0
  353. metadata/generated/schema/entity/feed/customProperty.py +17 -0
  354. metadata/generated/schema/entity/feed/description.py +24 -0
  355. metadata/generated/schema/entity/feed/domain.py +23 -0
  356. metadata/generated/schema/entity/feed/entityInfo.py +19 -0
  357. metadata/generated/schema/entity/feed/owner.py +23 -0
  358. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  359. metadata/generated/schema/entity/feed/tag.py +23 -0
  360. metadata/generated/schema/entity/feed/testCaseResult.py +26 -0
  361. metadata/generated/schema/entity/feed/thread.py +81 -2
  362. metadata/generated/schema/entity/policies/__init__.py +1 -1
  363. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  364. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +3 -1
  365. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  366. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  367. metadata/generated/schema/entity/policies/filters.py +3 -3
  368. metadata/generated/schema/entity/policies/policy.py +1 -1
  369. metadata/generated/schema/entity/services/__init__.py +1 -1
  370. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  371. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  372. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  373. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  374. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  375. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  376. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  377. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  380. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  381. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  382. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +33 -2
  385. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +3 -0
  386. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +37 -0
  387. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +25 -0
  388. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +37 -0
  389. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +37 -0
  390. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +38 -0
  391. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +6 -15
  392. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  395. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +2 -2
  417. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +4 -13
  419. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  420. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +4 -1
  421. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +2 -15
  423. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  425. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  429. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  430. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  431. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  432. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +4 -1
  435. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +4 -13
  437. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  439. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +2 -15
  440. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +11 -1
  441. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +2 -15
  442. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  444. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  445. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +12 -3
  452. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  455. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +7 -1
  457. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  459. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  460. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  461. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  462. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +7 -3
  463. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  464. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  468. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  472. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  473. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  474. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  475. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  476. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  479. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  480. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  481. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  482. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +61 -0
  483. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  484. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +73 -0
  485. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  488. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  489. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  490. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  491. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  492. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  493. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  494. metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
  495. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  496. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  497. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  498. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  499. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +5 -2
  500. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  501. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  502. metadata/generated/schema/entity/services/dashboardService.py +4 -1
  503. metadata/generated/schema/entity/services/databaseService.py +1 -1
  504. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  505. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  506. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  507. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  508. metadata/generated/schema/entity/services/messagingService.py +1 -1
  509. metadata/generated/schema/entity/services/metadataService.py +1 -1
  510. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  511. metadata/generated/schema/entity/services/pipelineService.py +7 -1
  512. metadata/generated/schema/entity/services/searchService.py +1 -1
  513. metadata/generated/schema/entity/services/serviceType.py +1 -1
  514. metadata/generated/schema/entity/services/storageService.py +1 -1
  515. metadata/generated/schema/entity/teams/__init__.py +1 -1
  516. metadata/generated/schema/entity/teams/persona.py +1 -1
  517. metadata/generated/schema/entity/teams/role.py +1 -1
  518. metadata/generated/schema/entity/teams/team.py +1 -1
  519. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  520. metadata/generated/schema/entity/teams/user.py +2 -2
  521. metadata/generated/schema/entity/type.py +1 -1
  522. metadata/generated/schema/entity/utils/__init__.py +1 -1
  523. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  524. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  525. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  526. metadata/generated/schema/events/__init__.py +1 -1
  527. metadata/generated/schema/events/alertMetrics.py +1 -1
  528. metadata/generated/schema/events/api/__init__.py +1 -1
  529. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  530. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  531. metadata/generated/schema/events/eventFilterRule.py +10 -1
  532. metadata/generated/schema/events/eventSubscription.py +6 -2
  533. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  534. metadata/generated/schema/events/failedEvent.py +1 -1
  535. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  536. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  537. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  538. metadata/generated/schema/metadataIngestion/application.py +1 -1
  539. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  540. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +19 -6
  541. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  542. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +37 -1
  543. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +23 -23
  544. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  545. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  546. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  547. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  548. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  549. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  550. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  551. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  552. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  553. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  554. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  555. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  556. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  557. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  558. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +22 -4
  559. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  560. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  561. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  562. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  563. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  564. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  565. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  566. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  567. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  568. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  569. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  572. metadata/generated/schema/monitoring/__init__.py +1 -1
  573. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  574. metadata/generated/schema/security/__init__.py +1 -1
  575. metadata/generated/schema/security/client/__init__.py +1 -1
  576. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  577. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  578. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  579. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  580. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  581. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  582. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  583. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  584. metadata/generated/schema/security/credentials/__init__.py +1 -1
  585. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  586. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  587. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  588. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  589. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  590. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  591. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  592. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  593. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  594. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  595. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  596. metadata/generated/schema/security/secrets/__init__.py +1 -1
  597. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  598. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  599. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  600. metadata/generated/schema/security/securityConfiguration.py +1 -1
  601. metadata/generated/schema/security/ssl/__init__.py +1 -1
  602. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +16 -4
  603. metadata/generated/schema/security/ssl/verifySSLConfig.py +10 -1
  604. metadata/generated/schema/settings/__init__.py +1 -1
  605. metadata/generated/schema/settings/settings.py +5 -2
  606. metadata/generated/schema/system/__init__.py +1 -1
  607. metadata/generated/schema/system/entityError.py +1 -1
  608. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  609. metadata/generated/schema/system/indexingError.py +1 -1
  610. metadata/generated/schema/system/ui/__init__.py +1 -1
  611. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  612. metadata/generated/schema/system/ui/page.py +1 -1
  613. metadata/generated/schema/system/validationResponse.py +1 -1
  614. metadata/generated/schema/tests/__init__.py +1 -1
  615. metadata/generated/schema/tests/assigned.py +1 -1
  616. metadata/generated/schema/tests/basic.py +23 -7
  617. metadata/generated/schema/tests/customMetric.py +1 -1
  618. metadata/generated/schema/tests/resolved.py +1 -1
  619. metadata/generated/schema/tests/testCase.py +13 -2
  620. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  621. metadata/generated/schema/tests/testDefinition.py +22 -2
  622. metadata/generated/schema/tests/testSuite.py +1 -1
  623. metadata/generated/schema/type/__init__.py +1 -1
  624. metadata/generated/schema/type/auditLog.py +1 -1
  625. metadata/generated/schema/type/basic.py +7 -1
  626. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  627. metadata/generated/schema/type/changeEvent.py +1 -1
  628. metadata/generated/schema/type/changeEventType.py +1 -1
  629. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  630. metadata/generated/schema/type/csvDocumentation.py +1 -1
  631. metadata/generated/schema/type/csvErrorType.py +1 -1
  632. metadata/generated/schema/type/csvFile.py +1 -1
  633. metadata/generated/schema/type/csvImportResult.py +1 -1
  634. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  635. metadata/generated/schema/type/customProperties/complexTypes.py +86 -0
  636. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  637. metadata/generated/schema/type/customProperty.py +3 -3
  638. metadata/generated/schema/type/dailyCount.py +1 -1
  639. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  640. metadata/generated/schema/type/entityHierarchy.py +39 -0
  641. metadata/generated/schema/type/entityHistory.py +1 -1
  642. metadata/generated/schema/type/entityLineage.py +3 -1
  643. metadata/generated/schema/type/entityReference.py +1 -1
  644. metadata/generated/schema/type/entityReferenceList.py +1 -1
  645. metadata/generated/schema/type/entityRelationship.py +1 -1
  646. metadata/generated/schema/type/entityUsage.py +1 -1
  647. metadata/generated/schema/type/filterPattern.py +1 -1
  648. metadata/generated/schema/type/function.py +1 -1
  649. metadata/generated/schema/type/include.py +1 -1
  650. metadata/generated/schema/type/jdbcConnection.py +1 -1
  651. metadata/generated/schema/type/lifeCycle.py +1 -1
  652. metadata/generated/schema/type/paging.py +4 -1
  653. metadata/generated/schema/type/profile.py +1 -1
  654. metadata/generated/schema/type/queryParserData.py +1 -1
  655. metadata/generated/schema/type/reaction.py +1 -1
  656. metadata/generated/schema/type/schedule.py +1 -1
  657. metadata/generated/schema/type/schema.py +1 -1
  658. metadata/generated/schema/type/tableQuery.py +1 -1
  659. metadata/generated/schema/type/tableUsageCount.py +1 -1
  660. metadata/generated/schema/type/tagLabel.py +1 -1
  661. metadata/generated/schema/type/usageDetails.py +1 -1
  662. metadata/generated/schema/type/usageRequest.py +1 -1
  663. metadata/generated/schema/type/votes.py +1 -1
  664. metadata/great_expectations/action.py +0 -1
  665. metadata/ingestion/api/delete.py +33 -1
  666. metadata/ingestion/api/step.py +6 -1
  667. metadata/ingestion/api/topology_runner.py +122 -25
  668. metadata/ingestion/bulksink/metadata_usage.py +6 -1
  669. metadata/ingestion/lineage/models.py +34 -1
  670. metadata/ingestion/lineage/parser.py +15 -8
  671. metadata/ingestion/lineage/sql_lineage.py +21 -3
  672. metadata/ingestion/models/custom_properties.py +3 -0
  673. metadata/ingestion/models/life_cycle.py +4 -1
  674. metadata/ingestion/models/patch_request.py +177 -35
  675. metadata/ingestion/models/topology.py +81 -1
  676. metadata/ingestion/ometa/client.py +3 -0
  677. metadata/ingestion/ometa/mixins/es_mixin.py +95 -42
  678. metadata/ingestion/ometa/mixins/lineage_mixin.py +169 -4
  679. metadata/ingestion/ometa/mixins/patch_mixin.py +9 -4
  680. metadata/ingestion/ometa/mixins/server_mixin.py +50 -5
  681. metadata/ingestion/ometa/mixins/tests_mixin.py +55 -1
  682. metadata/ingestion/ometa/mixins/user_mixin.py +18 -6
  683. metadata/ingestion/ometa/ometa_api.py +6 -1
  684. metadata/ingestion/ometa/routes.py +3 -0
  685. metadata/ingestion/ometa/utils.py +2 -0
  686. metadata/ingestion/processor/query_parser.py +36 -26
  687. metadata/ingestion/sink/file.py +4 -1
  688. metadata/ingestion/sink/metadata_rest.py +19 -5
  689. metadata/ingestion/source/dashboard/dashboard_service.py +75 -16
  690. metadata/ingestion/source/dashboard/domodashboard/metadata.py +7 -5
  691. metadata/ingestion/source/dashboard/lightdash/metadata.py +7 -5
  692. metadata/ingestion/source/dashboard/looker/metadata.py +25 -18
  693. metadata/ingestion/source/dashboard/metabase/client.py +39 -8
  694. metadata/ingestion/source/dashboard/metabase/connection.py +2 -1
  695. metadata/ingestion/source/dashboard/metabase/metadata.py +9 -7
  696. metadata/ingestion/source/dashboard/metabase/models.py +1 -1
  697. metadata/ingestion/source/dashboard/mode/metadata.py +7 -5
  698. metadata/ingestion/source/dashboard/mstr/metadata.py +10 -5
  699. metadata/ingestion/source/dashboard/powerbi/client.py +13 -3
  700. metadata/ingestion/source/dashboard/powerbi/connection.py +13 -5
  701. metadata/ingestion/source/dashboard/powerbi/file_client.py +327 -0
  702. metadata/ingestion/source/dashboard/powerbi/metadata.py +156 -53
  703. metadata/ingestion/source/dashboard/powerbi/models.py +26 -0
  704. metadata/ingestion/source/dashboard/qlikcloud/__init__.py +0 -0
  705. metadata/ingestion/source/dashboard/qlikcloud/client.py +167 -0
  706. metadata/ingestion/source/dashboard/qlikcloud/connection.py +56 -0
  707. metadata/ingestion/source/dashboard/qlikcloud/constants.py +66 -0
  708. metadata/ingestion/source/dashboard/qlikcloud/metadata.py +249 -0
  709. metadata/ingestion/source/dashboard/qlikcloud/models.py +33 -0
  710. metadata/ingestion/source/dashboard/qliksense/client.py +9 -26
  711. metadata/ingestion/source/dashboard/qliksense/metadata.py +30 -17
  712. metadata/ingestion/source/dashboard/qliksense/models.py +1 -0
  713. metadata/ingestion/source/dashboard/quicksight/metadata.py +105 -91
  714. metadata/ingestion/source/dashboard/quicksight/models.py +43 -4
  715. metadata/ingestion/source/dashboard/redash/metadata.py +10 -5
  716. metadata/ingestion/source/dashboard/superset/api_source.py +10 -5
  717. metadata/ingestion/source/dashboard/superset/db_source.py +12 -6
  718. metadata/ingestion/source/dashboard/superset/metadata.py +8 -1
  719. metadata/ingestion/source/dashboard/superset/mixin.py +20 -3
  720. metadata/ingestion/source/dashboard/superset/models.py +2 -0
  721. metadata/ingestion/source/dashboard/superset/queries.py +23 -6
  722. metadata/ingestion/source/dashboard/tableau/metadata.py +71 -10
  723. metadata/ingestion/source/database/athena/client.py +1 -1
  724. metadata/ingestion/source/database/athena/lineage.py +2 -0
  725. metadata/ingestion/source/database/athena/metadata.py +83 -15
  726. metadata/ingestion/source/database/athena/models.py +1 -1
  727. metadata/ingestion/source/database/athena/query_parser.py +6 -1
  728. metadata/ingestion/source/database/athena/usage.py +2 -0
  729. metadata/ingestion/source/database/azuresql/connection.py +4 -1
  730. metadata/ingestion/source/database/azuresql/metadata.py +4 -2
  731. metadata/ingestion/source/database/azuresql/query_parser.py +4 -1
  732. metadata/ingestion/source/database/bigquery/helper.py +23 -12
  733. metadata/ingestion/source/database/bigquery/incremental_table_processor.py +86 -0
  734. metadata/ingestion/source/database/bigquery/metadata.py +226 -52
  735. metadata/ingestion/source/database/bigquery/models.py +35 -1
  736. metadata/ingestion/source/database/bigquery/queries.py +25 -12
  737. metadata/ingestion/source/database/bigquery/query_parser.py +3 -1
  738. metadata/ingestion/source/database/bigtable/metadata.py +6 -4
  739. metadata/ingestion/source/database/clickhouse/metadata.py +29 -17
  740. metadata/ingestion/source/database/clickhouse/query_parser.py +4 -2
  741. metadata/ingestion/source/database/common_db_source.py +120 -65
  742. metadata/ingestion/source/database/common_nosql_source.py +15 -15
  743. metadata/ingestion/source/database/couchbase/metadata.py +8 -6
  744. metadata/ingestion/source/database/database_service.py +43 -27
  745. metadata/ingestion/source/database/databricks/metadata.py +80 -34
  746. metadata/ingestion/source/database/databricks/queries.py +0 -1
  747. metadata/ingestion/source/database/databricks/query_parser.py +9 -2
  748. metadata/ingestion/source/database/datalake/connection.py +1 -2
  749. metadata/ingestion/source/database/datalake/metadata.py +21 -19
  750. metadata/ingestion/source/database/db2/metadata.py +4 -1
  751. metadata/ingestion/source/database/dbt/dbt_service.py +13 -11
  752. metadata/ingestion/source/database/dbt/metadata.py +97 -33
  753. metadata/ingestion/source/database/dbt/models.py +10 -1
  754. metadata/ingestion/source/database/deltalake/connection.py +2 -2
  755. metadata/ingestion/source/database/deltalake/metadata.py +19 -17
  756. metadata/ingestion/source/database/domodatabase/metadata.py +16 -11
  757. metadata/ingestion/source/database/doris/connection.py +0 -10
  758. metadata/ingestion/source/database/doris/metadata.py +23 -4
  759. metadata/ingestion/source/database/druid/metadata.py +5 -1
  760. metadata/ingestion/source/database/dynamodb/metadata.py +3 -1
  761. metadata/ingestion/source/database/extended_sample_data.py +4 -2
  762. metadata/ingestion/source/database/external_table_lineage_mixin.py +82 -0
  763. metadata/ingestion/source/database/glue/metadata.py +23 -21
  764. metadata/ingestion/source/database/greenplum/connection.py +0 -10
  765. metadata/ingestion/source/database/greenplum/metadata.py +26 -11
  766. metadata/ingestion/source/database/hive/metadata.py +31 -4
  767. metadata/ingestion/source/database/iceberg/helper.py +42 -5
  768. metadata/ingestion/source/database/iceberg/metadata.py +18 -16
  769. metadata/ingestion/source/database/iceberg/models.py +12 -4
  770. metadata/ingestion/source/database/impala/metadata.py +4 -1
  771. metadata/ingestion/source/database/incremental_metadata_extraction.py +144 -0
  772. metadata/ingestion/source/database/life_cycle_query_mixin.py +39 -36
  773. metadata/ingestion/source/database/mariadb/metadata.py +5 -1
  774. metadata/ingestion/source/database/mongodb/metadata.py +4 -2
  775. metadata/ingestion/source/database/mssql/metadata.py +15 -7
  776. metadata/ingestion/source/database/mssql/queries.py +18 -16
  777. metadata/ingestion/source/database/mssql/query_parser.py +4 -1
  778. metadata/ingestion/source/database/mssql/utils.py +3 -0
  779. metadata/ingestion/source/database/mysql/connection.py +0 -11
  780. metadata/ingestion/source/database/mysql/metadata.py +9 -2
  781. metadata/ingestion/source/database/oracle/connection.py +2 -2
  782. metadata/ingestion/source/database/oracle/metadata.py +35 -17
  783. metadata/ingestion/source/database/oracle/queries.py +14 -13
  784. metadata/ingestion/source/database/oracle/query_parser.py +4 -1
  785. metadata/ingestion/source/database/pinotdb/metadata.py +4 -1
  786. metadata/ingestion/source/database/postgres/connection.py +0 -10
  787. metadata/ingestion/source/database/postgres/metadata.py +38 -15
  788. metadata/ingestion/source/database/postgres/queries.py +17 -1
  789. metadata/ingestion/source/database/postgres/query_parser.py +4 -2
  790. metadata/ingestion/source/database/postgres/utils.py +98 -0
  791. metadata/ingestion/source/database/presto/connection.py +14 -0
  792. metadata/ingestion/source/database/presto/metadata.py +8 -5
  793. metadata/ingestion/source/database/query/lineage.py +5 -1
  794. metadata/ingestion/source/database/query/usage.py +4 -1
  795. metadata/ingestion/source/database/redshift/connection.py +0 -10
  796. metadata/ingestion/source/database/redshift/incremental_table_processor.py +192 -0
  797. metadata/ingestion/source/database/redshift/metadata.py +175 -26
  798. metadata/ingestion/source/database/redshift/models.py +74 -1
  799. metadata/ingestion/source/database/redshift/queries.py +17 -2
  800. metadata/ingestion/source/database/redshift/query_parser.py +3 -1
  801. metadata/ingestion/source/database/redshift/utils.py +13 -7
  802. metadata/ingestion/source/database/salesforce/metadata.py +13 -11
  803. metadata/ingestion/source/database/sample_data.py +56 -13
  804. metadata/ingestion/source/database/sample_usage.py +3 -1
  805. metadata/ingestion/source/database/saphana/connection.py +12 -8
  806. metadata/ingestion/source/database/saphana/metadata.py +6 -5
  807. metadata/ingestion/source/database/sas/metadata.py +8 -3
  808. metadata/ingestion/source/database/singlestore/metadata.py +5 -1
  809. metadata/ingestion/source/database/snowflake/metadata.py +193 -59
  810. metadata/ingestion/source/database/snowflake/models.py +24 -1
  811. metadata/ingestion/source/database/snowflake/queries.py +147 -25
  812. metadata/ingestion/source/database/snowflake/query_parser.py +3 -1
  813. metadata/ingestion/source/database/snowflake/utils.py +187 -11
  814. metadata/ingestion/source/database/sql_column_handler.py +2 -0
  815. metadata/ingestion/source/database/sqlalchemy_source.py +4 -4
  816. metadata/ingestion/source/database/sqlite/metadata.py +5 -1
  817. metadata/ingestion/source/database/stored_procedures_mixin.py +11 -9
  818. metadata/ingestion/source/database/trino/connection.py +24 -1
  819. metadata/ingestion/source/database/trino/metadata.py +7 -4
  820. metadata/ingestion/source/database/trino/query_parser.py +4 -1
  821. metadata/ingestion/source/database/unitycatalog/lineage.py +3 -1
  822. metadata/ingestion/source/database/unitycatalog/metadata.py +43 -32
  823. metadata/ingestion/source/database/unitycatalog/query_parser.py +4 -1
  824. metadata/ingestion/source/database/vertica/metadata.py +4 -2
  825. metadata/ingestion/source/database/vertica/query_parser.py +4 -2
  826. metadata/ingestion/source/messaging/common_broker_source.py +45 -6
  827. metadata/ingestion/source/messaging/kafka/connection.py +12 -17
  828. metadata/ingestion/source/messaging/kafka/metadata.py +21 -1
  829. metadata/ingestion/source/messaging/kinesis/metadata.py +11 -5
  830. metadata/ingestion/source/messaging/messaging_service.py +3 -3
  831. metadata/ingestion/source/messaging/redpanda/metadata.py +5 -1
  832. metadata/ingestion/source/metadata/amundsen/metadata.py +3 -1
  833. metadata/ingestion/source/metadata/atlas/metadata.py +3 -1
  834. metadata/ingestion/source/mlmodel/mlflow/metadata.py +4 -2
  835. metadata/ingestion/source/mlmodel/mlmodel_service.py +3 -3
  836. metadata/ingestion/source/mlmodel/sagemaker/metadata.py +8 -3
  837. metadata/ingestion/source/pipeline/airbyte/metadata.py +9 -7
  838. metadata/ingestion/source/pipeline/airflow/lineage_parser.py +54 -1
  839. metadata/ingestion/source/pipeline/airflow/metadata.py +30 -14
  840. metadata/ingestion/source/pipeline/dagster/metadata.py +17 -15
  841. metadata/ingestion/source/pipeline/dagster/queries.py +53 -82
  842. metadata/ingestion/source/pipeline/databrickspipeline/metadata.py +10 -8
  843. metadata/ingestion/source/pipeline/domopipeline/metadata.py +6 -4
  844. metadata/ingestion/source/pipeline/fivetran/metadata.py +6 -4
  845. metadata/ingestion/source/pipeline/gluepipeline/metadata.py +7 -5
  846. metadata/ingestion/source/pipeline/kafkaconnect/__init__.py +0 -0
  847. metadata/ingestion/source/pipeline/kafkaconnect/client.py +278 -0
  848. metadata/ingestion/source/pipeline/kafkaconnect/connection.py +58 -0
  849. metadata/ingestion/source/pipeline/kafkaconnect/metadata.py +319 -0
  850. metadata/ingestion/source/pipeline/kafkaconnect/models.py +62 -0
  851. metadata/ingestion/source/pipeline/nifi/metadata.py +4 -2
  852. metadata/ingestion/source/pipeline/openlineage/__init__.py +0 -0
  853. metadata/ingestion/source/pipeline/openlineage/connection.py +88 -0
  854. metadata/ingestion/source/pipeline/openlineage/metadata.py +520 -0
  855. metadata/ingestion/source/pipeline/openlineage/models.py +88 -0
  856. metadata/ingestion/source/pipeline/openlineage/utils.py +59 -0
  857. metadata/ingestion/source/pipeline/pipeline_service.py +13 -3
  858. metadata/ingestion/source/pipeline/spline/metadata.py +8 -6
  859. metadata/ingestion/source/search/elasticsearch/metadata.py +8 -6
  860. metadata/ingestion/source/search/search_service.py +3 -3
  861. metadata/ingestion/source/sqa_types.py +20 -1
  862. metadata/ingestion/source/storage/s3/connection.py +10 -1
  863. metadata/ingestion/source/storage/s3/metadata.py +45 -30
  864. metadata/ingestion/source/storage/s3/models.py +8 -4
  865. metadata/ingestion/source/storage/storage_service.py +8 -5
  866. metadata/ingestion/stage/table_usage.py +6 -1
  867. metadata/mixins/pandas/pandas_mixin.py +3 -3
  868. metadata/pii/processor.py +6 -1
  869. metadata/profiler/__init__.py +0 -0
  870. metadata/profiler/adaptors/__init__.py +0 -0
  871. metadata/profiler/adaptors/adaptor_factory.py +43 -0
  872. metadata/profiler/adaptors/dynamodb.py +40 -0
  873. metadata/profiler/adaptors/factory.py +76 -0
  874. metadata/profiler/adaptors/mongodb.py +178 -0
  875. metadata/profiler/adaptors/nosql_adaptor.py +65 -0
  876. metadata/profiler/api/models.py +1 -1
  877. metadata/profiler/factory.py +41 -0
  878. metadata/profiler/interface/nosql/profiler_interface.py +236 -0
  879. metadata/profiler/interface/pandas/profiler_interface.py +51 -30
  880. metadata/profiler/interface/profiler_interface.py +6 -2
  881. metadata/profiler/interface/profiler_interface_factory.py +11 -22
  882. metadata/profiler/interface/sqlalchemy/databricks/profiler_interface.py +77 -0
  883. metadata/profiler/interface/sqlalchemy/profiler_interface.py +2 -1
  884. metadata/profiler/interface/sqlalchemy/unity_catalog/profiler_interface.py +3 -6
  885. metadata/profiler/metrics/composed/distinct_ratio.py +2 -1
  886. metadata/profiler/metrics/composed/duplicate_count.py +2 -1
  887. metadata/profiler/metrics/composed/ilike_ratio.py +2 -1
  888. metadata/profiler/metrics/composed/iqr.py +2 -1
  889. metadata/profiler/metrics/composed/like_ratio.py +2 -1
  890. metadata/profiler/metrics/composed/non_parametric_skew.py +2 -1
  891. metadata/profiler/metrics/composed/null_ratio.py +7 -4
  892. metadata/profiler/metrics/composed/unique_ratio.py +2 -1
  893. metadata/profiler/metrics/core.py +14 -1
  894. metadata/profiler/metrics/hybrid/histogram.py +2 -1
  895. metadata/profiler/metrics/registry.py +4 -0
  896. metadata/profiler/metrics/static/column_count.py +2 -1
  897. metadata/profiler/metrics/static/column_names.py +2 -1
  898. metadata/profiler/metrics/static/count.py +2 -1
  899. metadata/profiler/metrics/static/count_in_set.py +2 -1
  900. metadata/profiler/metrics/static/distinct_count.py +11 -2
  901. metadata/profiler/metrics/static/ilike_count.py +2 -1
  902. metadata/profiler/metrics/static/like_count.py +2 -1
  903. metadata/profiler/metrics/static/max.py +26 -7
  904. metadata/profiler/metrics/static/max_length.py +3 -2
  905. metadata/profiler/metrics/static/mean.py +30 -22
  906. metadata/profiler/metrics/static/min.py +25 -6
  907. metadata/profiler/metrics/static/min_length.py +3 -2
  908. metadata/profiler/metrics/static/not_like_count.py +2 -1
  909. metadata/profiler/metrics/static/not_regexp_match_count.py +2 -1
  910. metadata/profiler/metrics/static/null_count.py +2 -1
  911. metadata/profiler/metrics/static/null_missing_count.py +73 -0
  912. metadata/profiler/metrics/static/regexp_match_count.py +2 -1
  913. metadata/profiler/metrics/static/row_count.py +9 -3
  914. metadata/profiler/metrics/static/stddev.py +2 -1
  915. metadata/profiler/metrics/static/sum.py +22 -4
  916. metadata/profiler/metrics/static/unique_count.py +13 -4
  917. metadata/profiler/metrics/system/system.py +2 -1
  918. metadata/profiler/metrics/window/first_quartile.py +2 -1
  919. metadata/profiler/metrics/window/median.py +8 -2
  920. metadata/profiler/metrics/window/third_quartile.py +2 -1
  921. metadata/profiler/orm/converter/base.py +4 -1
  922. metadata/profiler/orm/converter/bigquery/converter.py +11 -0
  923. metadata/profiler/orm/converter/common.py +47 -0
  924. metadata/profiler/orm/converter/converter_registry.py +2 -0
  925. metadata/profiler/orm/converter/redshift/converter.py +48 -0
  926. metadata/profiler/orm/converter/snowflake/converter.py +13 -0
  927. metadata/profiler/orm/functions/conn_test.py +1 -1
  928. metadata/profiler/orm/functions/sum.py +4 -2
  929. metadata/profiler/orm/functions/table_metric_computer.py +13 -1
  930. metadata/profiler/orm/registry.py +6 -3
  931. metadata/profiler/processor/core.py +58 -97
  932. metadata/profiler/processor/default.py +5 -0
  933. metadata/profiler/processor/handle_partition.py +3 -3
  934. metadata/profiler/processor/metric_filter.py +267 -0
  935. metadata/profiler/processor/processor.py +4 -2
  936. metadata/profiler/processor/sampler/nosql/sampler.py +72 -0
  937. metadata/profiler/processor/sampler/pandas/sampler.py +5 -6
  938. metadata/profiler/processor/sampler/sampler_factory.py +9 -0
  939. metadata/profiler/processor/sampler/sampler_interface.py +2 -2
  940. metadata/profiler/processor/sampler/sqlalchemy/sampler.py +3 -3
  941. metadata/profiler/source/base/profiler_source.py +11 -3
  942. metadata/profiler/source/databricks/profiler_source.py +5 -1
  943. metadata/profiler/source/metadata.py +8 -1
  944. metadata/profiler/source/metadata_ext.py +2 -0
  945. metadata/readers/dataframe/avro.py +5 -5
  946. metadata/readers/dataframe/json.py +1 -1
  947. metadata/readers/file/adls.py +20 -0
  948. metadata/readers/file/base.py +6 -0
  949. metadata/readers/file/config_source_factory.py +12 -0
  950. metadata/readers/file/gcs.py +18 -0
  951. metadata/readers/file/local.py +12 -0
  952. metadata/readers/file/s3.py +16 -0
  953. metadata/utils/constants.py +32 -24
  954. metadata/utils/datalake/datalake_utils.py +40 -4
  955. metadata/utils/elasticsearch.py +8 -0
  956. metadata/utils/execution_time_tracker.py +69 -28
  957. metadata/utils/fqn.py +61 -7
  958. metadata/utils/helpers.py +2 -0
  959. metadata/utils/importer.py +15 -6
  960. metadata/utils/logger.py +1 -1
  961. metadata/utils/lru_cache.py +2 -0
  962. metadata/utils/messaging_utils.py +43 -0
  963. metadata/utils/partition.py +93 -28
  964. metadata/utils/sqlalchemy_utils.py +60 -1
  965. metadata/utils/ssl_manager.py +181 -0
  966. metadata/utils/stored_procedures.py +1 -1
  967. metadata/utils/tag_utils.py +30 -13
  968. metadata/utils/test_utils.py +65 -0
  969. metadata/workflow/application.py +6 -1
  970. metadata/workflow/base.py +1 -1
  971. metadata/workflow/ingestion.py +19 -0
  972. metadata/workflow/metadata.py +9 -1
  973. metadata/workflow/output_handler.py +24 -2
  974. metadata/workflow/workflow_output_handler.py +2 -0
  975. {openmetadata_ingestion-1.3.3.0rc2.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/METADATA +331 -326
  976. openmetadata_ingestion-1.4.0.0.dist-info/RECORD +1501 -0
  977. metadata/applications/auto_tagger.py +0 -212
  978. metadata/cli/backup.py +0 -202
  979. metadata/cli/db_dump.py +0 -239
  980. metadata/cli/docker.py +0 -382
  981. metadata/cli/openmetadata_dag_config_migration.py +0 -109
  982. metadata/cli/openmetadata_imports_migration.py +0 -71
  983. metadata/cli/utils.py +0 -56
  984. metadata/generated/schema/entity/applications/configuration/external/autoTaggerAppConfig.py +0 -28
  985. openmetadata_ingestion-1.3.3.0rc2.dist-info/RECORD +0 -1435
  986. {openmetadata_ingestion-1.3.3.0rc2.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/LICENSE +0 -0
  987. {openmetadata_ingestion-1.3.3.0rc2.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/WHEEL +0 -0
  988. {openmetadata_ingestion-1.3.3.0rc2.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/entry_points.txt +0 -0
  989. {openmetadata_ingestion-1.3.3.0rc2.dist-info → openmetadata_ingestion-1.4.0.0.dist-info}/top_level.txt +0 -0
@@ -9,10 +9,10 @@
9
9
  # See the License for the specific language governing permissions and
10
10
  # limitations under the License.
11
11
  """
12
- Pydantic definition for storing entities for patching
12
+ Pydantic definition for storing entities for patching
13
13
  """
14
14
  import json
15
- from typing import Dict, List, Optional
15
+ from typing import Dict, List, Optional, Tuple
16
16
 
17
17
  import jsonpatch
18
18
  from pydantic import BaseModel
@@ -88,7 +88,7 @@ ALLOWED_COMMON_PATCH_FIELDS = {
88
88
  "tableConstraints": True,
89
89
  "tablePartition": True,
90
90
  "location": True,
91
- "viewDefinition": True,
91
+ "schemaDefinition": True,
92
92
  "sampleData": True,
93
93
  "fileFormat": True,
94
94
  # Stored Procedure Fields
@@ -142,12 +142,176 @@ RESTRICT_UPDATE_LIST = ["description", "tags", "owner"]
142
142
  ARRAY_ENTITY_FIELDS = ["columns", "tasks", "fields"]
143
143
 
144
144
 
145
+ PathTuple = Tuple[str]
146
+
147
+
148
+ # For each 'replace to None' operation we will add a Remove operation at the end.
149
+ # This helps up prevent sending to the backend lists with None values for instance.
150
+ #
151
+ # Obs: The `replace to None` operations are created by the jsonpatch library.
152
+ #
153
+ # Example
154
+ # ----
155
+ # Initial:
156
+ # [
157
+ # {"op": "replace", "path": "/path/1", "value": None},
158
+ # {"op": "add", "path": "/path/2", "value": "foo"},
159
+ # ]
160
+ #
161
+ # Final:
162
+ # [
163
+ # {"op": "replace", "path": "/path/1", "value": None},
164
+ # {"op": "add", "path": "/path/2", "value": "foo"},
165
+ # {"op": "remove", "path": "/path/1"},
166
+ # ]
167
+ class ReplaceWithNoneOpFixer:
168
+ """Responsible for creating the Remove operations that fix every
169
+ Replace to None ones.
170
+
171
+ It is important to keep the state of the index drift in order to
172
+ create a working patch.
173
+
174
+ Example:
175
+
176
+ Initial:
177
+ [
178
+ {"op": "replace", "path": "/path/1", "value": None},
179
+ {"op": "replace", "path": "/path/2", "value": None}
180
+ ]
181
+
182
+ Final:
183
+ [
184
+ {"op": "replace", "path": "/path/1", "value": None},
185
+ {"op": "replace", "path": "/path/2", "value": None},
186
+ {"op": "remove", "path": "/path/1"},
187
+ {"op": "remove", "path": "/path/1"}
188
+ ]
189
+
190
+ Since the first Remove operation is relative to the first replace, there is no drift.
191
+ When the second Remove operation happens however, the first one would have already been done.
192
+ This means that '/path/2' becomes '/path/1'.
193
+ """
194
+
195
+ def __init__(self, index_drift_map: Dict[PathTuple, int]):
196
+ self.index_drift_map = index_drift_map
197
+
198
+ @classmethod
199
+ def default(cls) -> "ReplaceWithNoneOpFixer":
200
+ """Instantiates the ReplaceWithNoOpFixer with an empty drift map."""
201
+ return cls(index_drift_map={})
202
+
203
+ def _fix_index_drift(self, path: List[str]):
204
+ """Modifies the incoming path depending on how many Remove operations we have already
205
+ registered for this path."""
206
+
207
+ # We check all the paths for which we already registered a Remove operation
208
+ for drifted_path, drift in self.index_drift_map.items():
209
+ # If any of them matches the start of the current path we update the index.
210
+ if path[: len(drifted_path)] == list(drifted_path):
211
+ try:
212
+ drift_location = len(drifted_path)
213
+ path[drift_location] = str(int(path[drift_location]) - drift)
214
+ except ValueError:
215
+ # Not in a List. No need to fix the Path Index
216
+ continue
217
+ return path
218
+
219
+ def _update_index_drift_map(self, path: List[str]):
220
+ """Update the dirft map with the seen path."""
221
+ path_tuple: PathTuple = tuple(path[:-1])
222
+
223
+ self.index_drift_map[path_tuple] = (
224
+ self.index_drift_map.setdefault(path_tuple, 0) + 1
225
+ )
226
+
227
+ def _get_remove_operation(self, path: List[str]) -> Dict:
228
+ """Return a JSONPatch Remove operation for the given path."""
229
+ return {"op": PatchOperation.REMOVE.value, "path": "/".join(path)}
230
+
231
+ def get_remove_operation(self, path: List[str]):
232
+ """Returns a JSONPatch Remove operation for the given path
233
+ while keeping in the state that we are sending a Remove operation
234
+ for the given path."""
235
+ fixed_path = self._fix_index_drift(path)
236
+
237
+ self._update_index_drift_map(fixed_path)
238
+
239
+ return self._get_remove_operation(fixed_path)
240
+
241
+
242
+ class JsonPatchUpdater:
243
+ """Reponsible for applying any custom changes to the JSONPatch generated by the jsonpatch library."""
244
+
245
+ def __init__(
246
+ self,
247
+ restrict_update_fields: List,
248
+ replace_with_none_op_fixer: ReplaceWithNoneOpFixer,
249
+ ):
250
+ self.restrict_update_fields = restrict_update_fields
251
+ self.replace_with_none_op_fixer = replace_with_none_op_fixer
252
+
253
+ @classmethod
254
+ def from_restrict_update_fields(
255
+ cls, restrict_update_fields: List
256
+ ) -> "JsonPatchUpdater":
257
+ """Instantiates a JsonPatchUpdater based on the restric_update_fields"""
258
+ return cls(
259
+ restrict_update_fields=restrict_update_fields,
260
+ replace_with_none_op_fixer=ReplaceWithNoneOpFixer.default(),
261
+ )
262
+
263
+ def _determine_restricted_operation(self, patch_ops: Dict) -> bool:
264
+ """
265
+ Only retain add operation for restrict_update_fields fields
266
+ """
267
+ path = patch_ops.get("path")
268
+ ops = patch_ops.get("op")
269
+ for field in self.restrict_update_fields or []:
270
+ if field in path and ops != PatchOperation.ADD.value:
271
+ return False
272
+ return True
273
+
274
+ def _is_replace_with_none_operation(self, patch_ops: dict) -> bool:
275
+ """Check if the Operation is a Replace operation to a None value."""
276
+ return (patch_ops.get("op") == PatchOperation.REPLACE.value) and (
277
+ patch_ops.get("value") is None
278
+ )
279
+
280
+ def _get_remove_operation_for_replace_with_none(self, path: str) -> Dict:
281
+ """Returns the Remove operation for the given Path. Used to fix the Replace to None operations."""
282
+ return self.replace_with_none_op_fixer.get_remove_operation(path.split("/"))
283
+
284
+ def update(self, patch: jsonpatch.JsonPatch) -> List:
285
+ """Given a JSONPatch generated by the jsonpatch library, updates it based on our custom needs.
286
+ 1. Remove any restricted operations
287
+ 2. Fix any 'Replace to None' operation by adding a 'Remove' operation at the end.
288
+ """
289
+ patch_ops_list = []
290
+ remove_ops_list = []
291
+
292
+ for patch_ops in patch.patch or []:
293
+ if self._determine_restricted_operation(patch_ops=patch_ops):
294
+ patch_ops_list.append(patch_ops)
295
+
296
+ if self._is_replace_with_none_operation(patch_ops):
297
+ remove_ops_list.append(
298
+ self._get_remove_operation_for_replace_with_none(
299
+ patch_ops["path"]
300
+ )
301
+ )
302
+
303
+ patch_ops_list.extend(remove_ops_list)
304
+
305
+ return patch_ops_list
306
+
307
+
145
308
  def build_patch(
146
309
  source: T,
147
310
  destination: T,
148
311
  allowed_fields: Optional[Dict] = None,
149
312
  restrict_update_fields: Optional[List] = None,
150
313
  array_entity_fields: Optional[List] = None,
314
+ remove_change_description: bool = True,
151
315
  ) -> Optional[jsonpatch.JsonPatch]:
152
316
  """
153
317
  Given an Entity type and Source entity and Destination entity,
@@ -164,8 +328,9 @@ def build_patch(
164
328
  """
165
329
 
166
330
  # remove change descriptions from entities
167
- source = _remove_change_description(source)
168
- destination = _remove_change_description(destination)
331
+ if remove_change_description:
332
+ source = _remove_change_description(source)
333
+ destination = _remove_change_description(destination)
169
334
 
170
335
  if array_entity_fields:
171
336
  _sort_array_entity_fields(
@@ -200,22 +365,14 @@ def build_patch(
200
365
  if not patch:
201
366
  return None
202
367
 
203
- # for a user editable fields like descriptions, tags we only want to support "add" operation in patch
204
- # we will remove the other operations for replace, remove from here
368
+ # For a user editable fields like descriptions, tags we only want to support "add" operation in patch
369
+ # we will remove the other operations.
205
370
  if restrict_update_fields:
206
- patch_ops_list = []
207
- for patch_ops in patch.patch or []:
208
- if _determine_restricted_operation(
209
- patch_ops=patch_ops, restrict_update_fields=restrict_update_fields
210
- ):
211
- if (
212
- patch_ops.get("op") == PatchOperation.REPLACE.value
213
- and patch_ops.get("value") is None
214
- ):
215
- patch_ops["op"] = PatchOperation.REMOVE.value
216
- del patch_ops["value"]
217
- patch_ops_list.append(patch_ops)
218
- patch.patch = patch_ops_list
371
+ updated_operations = JsonPatchUpdater.from_restrict_update_fields(
372
+ restrict_update_fields
373
+ ).update(patch)
374
+ patch.patch = updated_operations
375
+
219
376
  return patch
220
377
 
221
378
 
@@ -255,21 +412,6 @@ def _sort_array_entity_fields(
255
412
  setattr(destination, field, final_attributes)
256
413
 
257
414
 
258
- def _determine_restricted_operation(
259
- patch_ops: Dict,
260
- restrict_update_fields: Optional[List] = None,
261
- ) -> bool:
262
- """
263
- Only retain add operation for restrict_update_fields fields
264
- """
265
- path = patch_ops.get("path")
266
- ops = patch_ops.get("op")
267
- for field in restrict_update_fields or []:
268
- if field in path and ops != PatchOperation.ADD.value:
269
- return False
270
- return True
271
-
272
-
273
415
  def _remove_change_description(entity: T) -> T:
274
416
  """
275
417
  Remove change description if applies.
@@ -11,8 +11,10 @@
11
11
  """
12
12
  Defines the topology for ingesting sources
13
13
  """
14
+ import queue
15
+ import threading
14
16
  from functools import singledispatchmethod
15
- from typing import Any, Generic, List, Optional, Type, TypeVar
17
+ from typing import Any, Dict, Generic, List, Optional, Type, TypeVar
16
18
 
17
19
  from pydantic import BaseModel, Extra, Field, create_model
18
20
 
@@ -115,6 +117,10 @@ class TopologyNode(BaseModel):
115
117
  post_process: Optional[List[str]] = Field(
116
118
  None, description="Method to be run after the node has been fully processed"
117
119
  )
120
+ threads: bool = Field(
121
+ False,
122
+ description="Flag that defines if a node is open to MultiThreading processing.",
123
+ )
118
124
 
119
125
 
120
126
  class ServiceTopology(BaseModel):
@@ -245,6 +251,80 @@ class TopologyContext(BaseModel):
245
251
  )
246
252
 
247
253
 
254
+ class TopologyContextManager:
255
+ """Manages the Context held for different threads."""
256
+
257
+ def __init__(self, topology: ServiceTopology):
258
+ # Due to our code strucutre, the first time the ContextManager is called will be within the MainThread.
259
+ # We can leverage this to guarantee we keep track of the MainThread ID.
260
+ self.main_thread = self.get_current_thread_id()
261
+ self.contexts: Dict[int, TopologyContext] = {
262
+ self.main_thread: TopologyContext.create(topology)
263
+ }
264
+
265
+ # Starts with the Multithreading disabled
266
+ self.threads = 0
267
+
268
+ def set_threads(self, threads: Optional[int]):
269
+ self.threads = threads or 0
270
+
271
+ def get_current_thread_id(self):
272
+ return threading.get_ident()
273
+
274
+ def get_global(self) -> TopologyContext:
275
+ return self.contexts[self.main_thread]
276
+
277
+ def get(self, thread_id: Optional[int] = None) -> TopologyContext:
278
+ """Returns the TopologyContext of a given thread."""
279
+ if thread_id:
280
+ return self.contexts[thread_id]
281
+
282
+ thread_id = self.get_current_thread_id()
283
+
284
+ return self.contexts[thread_id]
285
+
286
+ def pop(self, thread_id: Optional[int] = None):
287
+ """Cleans the TopologyContext of a given thread in order to lower the Memory Profile."""
288
+ if not thread_id:
289
+ self.contexts.pop(self.get_current_thread_id())
290
+ else:
291
+ self.contexts.pop(thread_id)
292
+
293
+ def copy_from(self, parent_thread_id: int):
294
+ """Copies the TopologyContext from a given Thread to the new thread TopologyContext."""
295
+ thread_id = self.get_current_thread_id()
296
+
297
+ # If it does not exist yet, copies the Parent Context in order to have all context gathered until this point.
298
+ self.contexts.setdefault(
299
+ thread_id, self.contexts[parent_thread_id].copy(deep=True)
300
+ )
301
+
302
+
303
+ class Queue:
304
+ """Small Queue wrapper"""
305
+
306
+ def __init__(self):
307
+ self._queue = queue.Queue()
308
+
309
+ def has_tasks(self) -> bool:
310
+ """Checks that the Queue is not Empty."""
311
+ return not self._queue.empty()
312
+
313
+ def process(self) -> Any:
314
+ """Yields all the items currently on the Queue."""
315
+ while True:
316
+ try:
317
+ item = self._queue.get_nowait()
318
+ yield item
319
+ self._queue.task_done()
320
+ except queue.Empty:
321
+ break
322
+
323
+ def put(self, item: Any):
324
+ """Puts new item in the Queue."""
325
+ self._queue.put(item)
326
+
327
+
248
328
  def get_topology_nodes(topology: ServiceTopology) -> List[TopologyNode]:
249
329
  """
250
330
  Fetch all nodes from a ServiceTopology
@@ -201,6 +201,9 @@ class REST:
201
201
  )
202
202
  time.sleep(retry_wait)
203
203
  retry -= 1
204
+ if retry == 0:
205
+ logger.error(f"No more retries left for {url}")
206
+ traceback.format_exc()
204
207
  return None
205
208
 
206
209
  def _one_request(self, method: str, url: URL, opts: dict, retry: int):
@@ -16,16 +16,13 @@ To be used by OpenMetadata class
16
16
  import functools
17
17
  import json
18
18
  import traceback
19
- from typing import Generic, List, Optional, Set, Type, TypeVar
19
+ from typing import Generic, Iterable, List, Optional, Set, Type, TypeVar
20
20
 
21
21
  from pydantic import BaseModel
22
22
  from requests.utils import quote
23
23
 
24
- from metadata.generated.schema.api.createEventPublisherJob import (
25
- CreateEventPublisherJob,
26
- )
24
+ from metadata.generated.schema.entity.data.container import Container
27
25
  from metadata.generated.schema.entity.data.query import Query
28
- from metadata.generated.schema.system.eventPublisherJob import EventPublisherResult
29
26
  from metadata.ingestion.ometa.client import REST, APIError
30
27
  from metadata.utils.elasticsearch import ES_INDEX_MAP
31
28
  from metadata.utils.logger import ometa_logger
@@ -45,7 +42,7 @@ class ESMixin(Generic[T]):
45
42
  client: REST
46
43
 
47
44
  fqdn_search = (
48
- "/search/fieldQuery?fieldName=fullyQualifiedName&fieldValue={fqn}&from={from_}"
45
+ "/search/fieldQuery?fieldName={field_name}&fieldValue={field_value}&from={from_}"
49
46
  "&size={size}&index={index}"
50
47
  )
51
48
 
@@ -79,7 +76,7 @@ class ESMixin(Generic[T]):
79
76
 
80
77
  return None
81
78
 
82
- def _get_entity_from_es(
79
+ def get_entity_from_es(
83
80
  self, entity: Type[T], query_string: str, fields: Optional[list] = None
84
81
  ) -> Optional[T]:
85
82
  """Fetch an entity instance from ES"""
@@ -96,6 +93,23 @@ class ESMixin(Generic[T]):
96
93
 
97
94
  return None
98
95
 
96
+ def yield_entities_from_es(
97
+ self, entity: Type[T], query_string: str, fields: Optional[list] = None
98
+ ) -> Iterable[T]:
99
+ """Fetch an entity instance from ES"""
100
+
101
+ try:
102
+ entity_list = self._search_es_entity(
103
+ entity_type=entity, query_string=query_string, fields=fields
104
+ )
105
+ for instance in entity_list or []:
106
+ yield instance
107
+ except Exception as err:
108
+ logger.debug(traceback.format_exc())
109
+ logger.warning(f"Could not get {entity.__name__} info from ES due to {err}")
110
+
111
+ return None
112
+
99
113
  def es_search_from_fqn(
100
114
  self,
101
115
  entity_type: Type[T],
@@ -105,17 +119,83 @@ class ESMixin(Generic[T]):
105
119
  fields: Optional[str] = None,
106
120
  ) -> Optional[List[T]]:
107
121
  """
108
- Given a service_name and some filters, search for entities using ES
122
+ Given a service name and filters, search for entities using Elasticsearch.
123
+
124
+ Args:
125
+ entity_type (Type[T]): The type of entity to look for.
126
+ fqn_search_string (str): The string used to search by fully qualified name (FQN).
127
+ Example: "service.*.schema.table".
128
+ from_count (int): The starting index of the search results.
129
+ size (int): The maximum number of records to return.
130
+ fields (Optional[str]): Comma-separated list of fields to be returned.
131
+
132
+ Returns:
133
+ Optional[List[T]]: A list of entities that match the search criteria, or None if no entities are found.
134
+ """
135
+ return self._es_search_entity(
136
+ entity_type=entity_type,
137
+ field_value=fqn_search_string,
138
+ field_name="fullyQualifiedName",
139
+ from_count=from_count,
140
+ size=size,
141
+ fields=fields,
142
+ )
109
143
 
110
- :param entity_type: Entity to look for
111
- :param fqn_search_string: string used to search by FQN. E.g., service.*.schema.table
112
- :param from_count: Records to expect
113
- :param size: Number of records
114
- :param fields: Comma separated list of fields to be returned
115
- :return: List of entities
144
+ def es_search_container_by_path(
145
+ self,
146
+ full_path: str,
147
+ from_count: int = 0,
148
+ size: int = 10,
149
+ fields: Optional[str] = None,
150
+ ) -> Optional[List[Container]]:
151
+ """
152
+ Given a service name and filters, search for containers using Elasticsearch.
153
+
154
+ Args:
155
+ entity_type (Type[T]): The type of entity to look for.
156
+ full_path (str): The string used to search by full path.
157
+ from_count (int): The starting index of the search results.
158
+ size (int): The maximum number of records to return.
159
+ fields (Optional[str]): Comma-separated list of fields to be returned.
160
+
161
+ Returns:
162
+ Optional[List[Container]]: A list of containers that match the search criteria, or None if no entities are found.
163
+ """
164
+ return self._es_search_entity(
165
+ entity_type=Container,
166
+ field_value=full_path,
167
+ field_name="fullPath",
168
+ from_count=from_count,
169
+ size=size,
170
+ fields=fields,
171
+ )
172
+
173
+ def _es_search_entity(
174
+ self,
175
+ entity_type: Type[T],
176
+ field_value: str,
177
+ field_name: str,
178
+ from_count: int = 0,
179
+ size: int = 10,
180
+ fields: Optional[str] = None,
181
+ ) -> Optional[List[T]]:
182
+ """
183
+ Search for entities using Elasticsearch.
184
+
185
+ Args:
186
+ entity_type (Type[T]): The type of entity to look for.
187
+ field_value (str): The value to search for in the specified field.
188
+ field_name (str): The name of the field to search in.
189
+ from_count (int, optional): The starting index of the search results. Defaults to 0.
190
+ size (int, optional): The maximum number of search results to return. Defaults to 10.
191
+ fields (Optional[str], optional): Comma-separated list of fields to be returned. Defaults to None.
192
+
193
+ Returns:
194
+ Optional[List[T]]: A list of entities that match the search criteria, or None if no entities are found.
116
195
  """
117
196
  query_string = self.fqdn_search.format(
118
- fqn=fqn_search_string,
197
+ field_name=field_name,
198
+ field_value=field_value,
119
199
  from_=from_count,
120
200
  size=size,
121
201
  index=ES_INDEX_MAP[entity_type.__name__], # Fail if not exists
@@ -138,33 +218,6 @@ class ESMixin(Generic[T]):
138
218
  )
139
219
  return None
140
220
 
141
- def reindex_es(
142
- self,
143
- config: CreateEventPublisherJob,
144
- ) -> Optional[EventPublisherResult]:
145
- """
146
- Method to trigger elasticsearch reindex
147
- """
148
- try:
149
- resp = self.client.post(path="/search/reindex", data=config.json())
150
- return EventPublisherResult(**resp)
151
- except APIError as err:
152
- logger.debug(traceback.format_exc())
153
- logger.debug(f"Failed to trigger es reindex job due to {err}")
154
- return None
155
-
156
- def get_reindex_job_status(self, job_id: str) -> Optional[EventPublisherResult]:
157
- """
158
- Method to fetch the elasticsearch reindex job status
159
- """
160
- try:
161
- resp = self.client.get(path=f"/search/reindex/{job_id}")
162
- return EventPublisherResult(**resp)
163
- except APIError as err:
164
- logger.debug(traceback.format_exc())
165
- logger.debug(f"Failed to fetch reindex job status due to {err}")
166
- return None
167
-
168
221
  @staticmethod
169
222
  def get_query_with_lineage_filter(service_name: str) -> str:
170
223
  query_lineage_filter = {