openmetadata-ingestion 1.8.7.1__py3-none-any.whl → 1.8.9.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 (745) hide show
  1. airflow_provider_openmetadata/lineage/backend.py +7 -9
  2. metadata/generated/schema/analytics/__init__.py +1 -1
  3. metadata/generated/schema/analytics/basic.py +1 -1
  4. metadata/generated/schema/analytics/reportData.py +1 -1
  5. metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
  6. metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
  7. metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
  8. metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
  9. metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
  10. metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
  11. metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
  12. metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
  13. metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
  14. metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
  15. metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
  16. metadata/generated/schema/api/__init__.py +1 -1
  17. metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
  18. metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
  19. metadata/generated/schema/api/analytics/__init__.py +1 -1
  20. metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
  21. metadata/generated/schema/api/automations/__init__.py +1 -1
  22. metadata/generated/schema/api/automations/createWorkflow.py +1 -1
  23. metadata/generated/schema/api/bulkAssets.py +1 -1
  24. metadata/generated/schema/api/classification/__init__.py +1 -1
  25. metadata/generated/schema/api/classification/createClassification.py +1 -1
  26. metadata/generated/schema/api/classification/createTag.py +1 -1
  27. metadata/generated/schema/api/classification/loadTags.py +1 -1
  28. metadata/generated/schema/api/createBot.py +1 -1
  29. metadata/generated/schema/api/createEventPublisherJob.py +1 -1
  30. metadata/generated/schema/api/createType.py +1 -1
  31. metadata/generated/schema/api/data/__init__.py +1 -1
  32. metadata/generated/schema/api/data/createAPICollection.py +1 -1
  33. metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
  34. metadata/generated/schema/api/data/createChart.py +1 -1
  35. metadata/generated/schema/api/data/createContainer.py +1 -1
  36. metadata/generated/schema/api/data/createCustomProperty.py +1 -1
  37. metadata/generated/schema/api/data/createDashboard.py +1 -1
  38. metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
  39. metadata/generated/schema/api/data/createDataContract.py +1 -1
  40. metadata/generated/schema/api/data/createDatabase.py +1 -1
  41. metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
  42. metadata/generated/schema/api/data/createGlossary.py +1 -1
  43. metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
  44. metadata/generated/schema/api/data/createMetric.py +1 -1
  45. metadata/generated/schema/api/data/createMlModel.py +1 -1
  46. metadata/generated/schema/api/data/createPipeline.py +1 -1
  47. metadata/generated/schema/api/data/createQuery.py +1 -1
  48. metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
  49. metadata/generated/schema/api/data/createSearchIndex.py +1 -1
  50. metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
  51. metadata/generated/schema/api/data/createTable.py +1 -1
  52. metadata/generated/schema/api/data/createTableProfile.py +1 -1
  53. metadata/generated/schema/api/data/createTopic.py +1 -1
  54. metadata/generated/schema/api/data/loadGlossary.py +1 -1
  55. metadata/generated/schema/api/data/restoreEntity.py +1 -1
  56. metadata/generated/schema/api/data/updateColumn.py +1 -1
  57. metadata/generated/schema/api/dataInsight/__init__.py +1 -1
  58. metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
  59. metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
  60. metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
  61. metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
  62. metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
  63. metadata/generated/schema/api/docStore/__init__.py +1 -1
  64. metadata/generated/schema/api/docStore/createDocument.py +1 -1
  65. metadata/generated/schema/api/domains/__init__.py +1 -1
  66. metadata/generated/schema/api/domains/createDataProduct.py +1 -1
  67. metadata/generated/schema/api/domains/createDomain.py +1 -1
  68. metadata/generated/schema/api/feed/__init__.py +1 -1
  69. metadata/generated/schema/api/feed/closeTask.py +1 -1
  70. metadata/generated/schema/api/feed/createPost.py +1 -1
  71. metadata/generated/schema/api/feed/createSuggestion.py +1 -1
  72. metadata/generated/schema/api/feed/createThread.py +1 -1
  73. metadata/generated/schema/api/feed/resolveTask.py +1 -1
  74. metadata/generated/schema/api/feed/threadCount.py +1 -1
  75. metadata/generated/schema/api/governance/__init__.py +1 -1
  76. metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
  77. metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
  78. metadata/generated/schema/api/lineage/__init__.py +1 -1
  79. metadata/generated/schema/api/lineage/addLineage.py +1 -1
  80. metadata/generated/schema/api/lineage/esLineageData.py +1 -1
  81. metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
  82. metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
  83. metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
  84. metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
  85. metadata/generated/schema/api/mcp/__init__.py +1 -1
  86. metadata/generated/schema/api/mcp/mcpToolDefinition.py +1 -1
  87. metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
  88. metadata/generated/schema/api/policies/__init__.py +1 -1
  89. metadata/generated/schema/api/policies/createPolicy.py +1 -1
  90. metadata/generated/schema/api/scim/__init__.py +1 -1
  91. metadata/generated/schema/api/scim/scimGroup.py +1 -1
  92. metadata/generated/schema/api/scim/scimPatchOp.py +1 -1
  93. metadata/generated/schema/api/scim/scimUser.py +1 -1
  94. metadata/generated/schema/api/search/__init__.py +1 -1
  95. metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
  96. metadata/generated/schema/api/services/__init__.py +1 -1
  97. metadata/generated/schema/api/services/createApiService.py +1 -1
  98. metadata/generated/schema/api/services/createDashboardService.py +1 -1
  99. metadata/generated/schema/api/services/createDatabaseService.py +1 -1
  100. metadata/generated/schema/api/services/createMessagingService.py +1 -1
  101. metadata/generated/schema/api/services/createMetadataService.py +1 -1
  102. metadata/generated/schema/api/services/createMlModelService.py +1 -1
  103. metadata/generated/schema/api/services/createPipelineService.py +1 -1
  104. metadata/generated/schema/api/services/createSearchService.py +1 -1
  105. metadata/generated/schema/api/services/createSecurityService.py +67 -0
  106. metadata/generated/schema/api/services/createStorageService.py +1 -1
  107. metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
  108. metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
  109. metadata/generated/schema/api/setOwner.py +1 -1
  110. metadata/generated/schema/api/teams/__init__.py +1 -1
  111. metadata/generated/schema/api/teams/createPersona.py +1 -1
  112. metadata/generated/schema/api/teams/createRole.py +1 -1
  113. metadata/generated/schema/api/teams/createTeam.py +1 -1
  114. metadata/generated/schema/api/teams/createUser.py +1 -1
  115. metadata/generated/schema/api/tests/__init__.py +1 -1
  116. metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
  117. metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
  118. metadata/generated/schema/api/tests/createTestCase.py +1 -1
  119. metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
  120. metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
  121. metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
  122. metadata/generated/schema/api/tests/createTestSuite.py +1 -1
  123. metadata/generated/schema/api/validateGlossaryTagsRequest.py +1 -1
  124. metadata/generated/schema/api/voteRequest.py +1 -1
  125. metadata/generated/schema/auth/__init__.py +1 -1
  126. metadata/generated/schema/auth/basicAuth.py +1 -1
  127. metadata/generated/schema/auth/basicLoginRequest.py +1 -1
  128. metadata/generated/schema/auth/changePasswordRequest.py +1 -1
  129. metadata/generated/schema/auth/createPersonalToken.py +1 -1
  130. metadata/generated/schema/auth/emailRequest.py +1 -1
  131. metadata/generated/schema/auth/emailVerificationToken.py +1 -1
  132. metadata/generated/schema/auth/generateToken.py +1 -1
  133. metadata/generated/schema/auth/jwtAuth.py +1 -1
  134. metadata/generated/schema/auth/loginRequest.py +1 -1
  135. metadata/generated/schema/auth/logoutRequest.py +1 -1
  136. metadata/generated/schema/auth/passwordResetRequest.py +1 -1
  137. metadata/generated/schema/auth/passwordResetToken.py +1 -1
  138. metadata/generated/schema/auth/personalAccessToken.py +1 -1
  139. metadata/generated/schema/auth/refreshToken.py +1 -1
  140. metadata/generated/schema/auth/registrationRequest.py +1 -1
  141. metadata/generated/schema/auth/revokePersonalToken.py +1 -1
  142. metadata/generated/schema/auth/revokeToken.py +1 -1
  143. metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
  144. metadata/generated/schema/auth/ssoAuth.py +1 -1
  145. metadata/generated/schema/auth/supportToken.py +1 -1
  146. metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
  147. metadata/generated/schema/configuration/__init__.py +1 -1
  148. metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
  149. metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
  150. metadata/generated/schema/configuration/authConfig.py +1 -1
  151. metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
  152. metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
  153. metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
  154. metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
  155. metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
  156. metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
  157. metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
  158. metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
  159. metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
  160. metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
  161. metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
  162. metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
  163. metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
  164. metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
  165. metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
  166. metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
  167. metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
  168. metadata/generated/schema/configuration/lineageSettings.py +1 -1
  169. metadata/generated/schema/configuration/loginConfiguration.py +1 -1
  170. metadata/generated/schema/configuration/logoConfiguration.py +1 -1
  171. metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
  172. metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
  173. metadata/generated/schema/configuration/opsConfig.py +1 -1
  174. metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
  175. metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
  176. metadata/generated/schema/configuration/searchSettings.py +1 -1
  177. metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
  178. metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
  179. metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
  180. metadata/generated/schema/configuration/themeConfiguration.py +1 -1
  181. metadata/generated/schema/configuration/uiThemePreference.py +1 -1
  182. metadata/generated/schema/configuration/workflowSettings.py +1 -1
  183. metadata/generated/schema/dataInsight/__init__.py +1 -1
  184. metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
  185. metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
  186. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
  187. metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
  188. metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
  189. metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
  190. metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
  191. metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
  192. metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
  193. metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
  194. metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
  195. metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
  196. metadata/generated/schema/dataInsight/type/__init__.py +1 -1
  197. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
  198. metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
  199. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
  200. metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
  201. metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
  202. metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
  203. metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
  204. metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
  205. metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
  206. metadata/generated/schema/email/__init__.py +1 -1
  207. metadata/generated/schema/email/emailRequest.py +1 -1
  208. metadata/generated/schema/email/emailTemplate.py +1 -1
  209. metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
  210. metadata/generated/schema/email/smtpSettings.py +1 -1
  211. metadata/generated/schema/email/templateValidationReponse.py +1 -1
  212. metadata/generated/schema/entity/__init__.py +1 -1
  213. metadata/generated/schema/entity/applications/__init__.py +1 -1
  214. metadata/generated/schema/entity/applications/app.py +1 -1
  215. metadata/generated/schema/entity/applications/appExtension.py +1 -1
  216. metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
  217. metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
  218. metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
  219. metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
  220. metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
  221. metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
  222. metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
  223. metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
  224. metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
  225. metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
  226. metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
  227. metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
  228. metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
  229. metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +20 -2
  230. metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
  231. metadata/generated/schema/entity/applications/configuration/external/automator/propagationStopConfig.py +44 -0
  232. metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
  233. metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
  234. metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
  235. metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
  236. metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
  237. metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
  238. metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
  239. metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
  240. metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
  241. metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
  242. metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
  243. metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
  244. metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
  245. metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
  246. metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
  247. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
  248. metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
  249. metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
  250. metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
  251. metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
  252. metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
  253. metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
  254. metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
  255. metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
  256. metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
  257. metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
  258. metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
  259. metadata/generated/schema/entity/applications/jobStatus.py +1 -1
  260. metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
  261. metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
  262. metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
  263. metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
  264. metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
  265. metadata/generated/schema/entity/automations/__init__.py +1 -1
  266. metadata/generated/schema/entity/automations/testServiceConnection.py +3 -1
  267. metadata/generated/schema/entity/automations/workflow.py +1 -1
  268. metadata/generated/schema/entity/bot.py +1 -1
  269. metadata/generated/schema/entity/classification/__init__.py +1 -1
  270. metadata/generated/schema/entity/classification/classification.py +1 -1
  271. metadata/generated/schema/entity/classification/tag.py +1 -1
  272. metadata/generated/schema/entity/data/__init__.py +1 -1
  273. metadata/generated/schema/entity/data/apiCollection.py +1 -1
  274. metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
  275. metadata/generated/schema/entity/data/chart.py +1 -1
  276. metadata/generated/schema/entity/data/container.py +1 -1
  277. metadata/generated/schema/entity/data/dashboard.py +1 -1
  278. metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
  279. metadata/generated/schema/entity/data/dataContract.py +1 -1
  280. metadata/generated/schema/entity/data/database.py +1 -1
  281. metadata/generated/schema/entity/data/databaseSchema.py +1 -1
  282. metadata/generated/schema/entity/data/glossary.py +1 -1
  283. metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
  284. metadata/generated/schema/entity/data/metric.py +1 -1
  285. metadata/generated/schema/entity/data/mlmodel.py +1 -1
  286. metadata/generated/schema/entity/data/pipeline.py +1 -1
  287. metadata/generated/schema/entity/data/query.py +1 -1
  288. metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
  289. metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
  290. metadata/generated/schema/entity/data/report.py +1 -1
  291. metadata/generated/schema/entity/data/searchIndex.py +1 -1
  292. metadata/generated/schema/entity/data/storedProcedure.py +1 -1
  293. metadata/generated/schema/entity/data/table.py +5 -1
  294. metadata/generated/schema/entity/data/topic.py +1 -1
  295. metadata/generated/schema/entity/docStore/__init__.py +1 -1
  296. metadata/generated/schema/entity/docStore/document.py +1 -1
  297. metadata/generated/schema/entity/domains/__init__.py +1 -1
  298. metadata/generated/schema/entity/domains/dataProduct.py +1 -1
  299. metadata/generated/schema/entity/domains/domain.py +1 -1
  300. metadata/generated/schema/entity/events/__init__.py +1 -1
  301. metadata/generated/schema/entity/events/webhook.py +1 -1
  302. metadata/generated/schema/entity/feed/__init__.py +1 -1
  303. metadata/generated/schema/entity/feed/assets.py +1 -1
  304. metadata/generated/schema/entity/feed/customProperty.py +1 -1
  305. metadata/generated/schema/entity/feed/description.py +1 -1
  306. metadata/generated/schema/entity/feed/domain.py +1 -1
  307. metadata/generated/schema/entity/feed/entityInfo.py +1 -1
  308. metadata/generated/schema/entity/feed/owner.py +1 -1
  309. metadata/generated/schema/entity/feed/suggestion.py +1 -1
  310. metadata/generated/schema/entity/feed/tag.py +1 -1
  311. metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
  312. metadata/generated/schema/entity/feed/thread.py +1 -1
  313. metadata/generated/schema/entity/policies/__init__.py +1 -1
  314. metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
  315. metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
  316. metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
  317. metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
  318. metadata/generated/schema/entity/policies/filters.py +1 -1
  319. metadata/generated/schema/entity/policies/policy.py +1 -1
  320. metadata/generated/schema/entity/services/__init__.py +1 -1
  321. metadata/generated/schema/entity/services/apiService.py +1 -1
  322. metadata/generated/schema/entity/services/connections/__init__.py +1 -1
  323. metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
  324. metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
  325. metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
  326. metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
  327. metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
  328. metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
  329. metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
  330. metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
  331. metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
  332. metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
  333. metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
  334. metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
  335. metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
  336. metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
  337. metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
  338. metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
  339. metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
  340. metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
  341. metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
  342. metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
  343. metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
  344. metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
  345. metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
  346. metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
  347. metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
  348. metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
  349. metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
  350. metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
  351. metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
  352. metadata/generated/schema/entity/services/connections/dashboard/thoughtSpotConnection.py +1 -1
  353. metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
  354. metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
  355. metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
  356. metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
  357. metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
  358. metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
  359. metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
  360. metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
  361. metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
  362. metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
  363. metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
  364. metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
  365. metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
  366. metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
  367. metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
  368. metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
  369. metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
  370. metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
  371. metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
  372. metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
  373. metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
  374. metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
  375. metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
  376. metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
  377. metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
  378. metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
  379. metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
  380. metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
  381. metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
  382. metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
  383. metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
  384. metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
  385. metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
  386. metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
  387. metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
  388. metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
  389. metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
  390. metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
  391. metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
  392. metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
  393. metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
  394. metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
  395. metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
  396. metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
  397. metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
  398. metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
  399. metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
  400. metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
  401. metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
  402. metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
  403. metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
  404. metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
  405. metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
  406. metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
  407. metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
  408. metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
  409. metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
  410. metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
  411. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
  412. metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
  413. metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
  414. metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
  415. metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
  416. metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
  417. metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
  418. metadata/generated/schema/entity/services/connections/database/ssasConnection.py +47 -0
  419. metadata/generated/schema/entity/services/connections/database/synapseConnection.py +27 -2
  420. metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
  421. metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
  422. metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
  423. metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
  424. metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
  425. metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
  426. metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
  427. metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
  428. metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
  429. metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
  430. metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
  431. metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
  432. metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
  433. metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
  434. metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
  435. metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
  436. metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
  437. metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
  438. metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
  439. metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
  440. metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
  441. metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
  442. metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
  443. metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
  444. metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
  445. metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
  446. metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
  447. metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
  448. metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
  449. metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
  450. metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
  451. metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
  452. metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
  453. metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
  454. metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
  455. metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
  456. metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
  457. metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
  458. metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
  459. metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
  460. metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
  461. metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
  462. metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
  463. metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
  464. metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
  465. metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
  466. metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
  467. metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
  468. metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
  469. metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
  470. metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
  471. metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
  472. metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
  473. metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
  474. metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
  475. metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
  476. metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
  477. metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
  478. metadata/generated/schema/entity/services/connections/security/__init__.py +3 -0
  479. metadata/generated/schema/entity/services/connections/security/ranger/__init__.py +3 -0
  480. metadata/generated/schema/entity/services/connections/security/ranger/basicAuth.py +26 -0
  481. metadata/generated/schema/entity/services/connections/security/rangerConnection.py +39 -0
  482. metadata/generated/schema/entity/services/connections/serviceConnection.py +4 -1
  483. metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
  484. metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
  485. metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
  486. metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
  487. metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
  488. metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
  489. metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
  490. metadata/generated/schema/entity/services/dashboardService.py +1 -1
  491. metadata/generated/schema/entity/services/databaseService.py +4 -1
  492. metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
  493. metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
  494. metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
  495. metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
  496. metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
  497. metadata/generated/schema/entity/services/messagingService.py +1 -1
  498. metadata/generated/schema/entity/services/metadataService.py +1 -1
  499. metadata/generated/schema/entity/services/mlmodelService.py +1 -1
  500. metadata/generated/schema/entity/services/pipelineService.py +1 -1
  501. metadata/generated/schema/entity/services/searchService.py +1 -1
  502. metadata/generated/schema/entity/services/securityService.py +135 -0
  503. metadata/generated/schema/entity/services/serviceType.py +2 -1
  504. metadata/generated/schema/entity/services/storageService.py +1 -1
  505. metadata/generated/schema/entity/teams/__init__.py +1 -1
  506. metadata/generated/schema/entity/teams/persona.py +1 -1
  507. metadata/generated/schema/entity/teams/role.py +1 -1
  508. metadata/generated/schema/entity/teams/team.py +1 -1
  509. metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
  510. metadata/generated/schema/entity/teams/user.py +1 -1
  511. metadata/generated/schema/entity/type.py +1 -1
  512. metadata/generated/schema/entity/utils/__init__.py +1 -1
  513. metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
  514. metadata/generated/schema/entity/utils/servicesCount.py +1 -1
  515. metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
  516. metadata/generated/schema/events/__init__.py +1 -1
  517. metadata/generated/schema/events/alertMetrics.py +1 -1
  518. metadata/generated/schema/events/api/__init__.py +1 -1
  519. metadata/generated/schema/events/api/createEventSubscription.py +1 -1
  520. metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
  521. metadata/generated/schema/events/api/eventsRecord.py +1 -1
  522. metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
  523. metadata/generated/schema/events/api/typedEvent.py +1 -1
  524. metadata/generated/schema/events/emailAlertConfig.py +1 -1
  525. metadata/generated/schema/events/eventFilterRule.py +1 -1
  526. metadata/generated/schema/events/eventSubscription.py +1 -1
  527. metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
  528. metadata/generated/schema/events/failedEvent.py +1 -1
  529. metadata/generated/schema/events/failedEventResponse.py +1 -1
  530. metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
  531. metadata/generated/schema/events/statusContext.py +1 -1
  532. metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
  533. metadata/generated/schema/events/subscriptionStatus.py +1 -1
  534. metadata/generated/schema/events/testDestinationStatus.py +1 -1
  535. metadata/generated/schema/governance/workflows/__init__.py +1 -1
  536. metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
  537. metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
  538. metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
  539. metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
  540. metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
  541. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
  542. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
  543. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
  544. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
  545. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
  546. metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
  547. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
  548. metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
  549. metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
  550. metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
  551. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
  552. metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
  553. metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
  554. metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
  555. metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
  556. metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
  557. metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
  558. metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
  559. metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
  560. metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
  561. metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
  562. metadata/generated/schema/jobs/__init__.py +1 -1
  563. metadata/generated/schema/jobs/backgroundJob.py +1 -1
  564. metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
  565. metadata/generated/schema/metadataIngestion/__init__.py +1 -1
  566. metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
  567. metadata/generated/schema/metadataIngestion/application.py +1 -1
  568. metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
  569. metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
  570. metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
  571. metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
  572. metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
  573. metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
  574. metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
  575. metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
  576. metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
  577. metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
  578. metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
  579. metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
  580. metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
  581. metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
  582. metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
  583. metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
  584. metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
  585. metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
  586. metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
  587. metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
  588. metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
  589. metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
  590. metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
  591. metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
  592. metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
  593. metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
  594. metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
  595. metadata/generated/schema/metadataIngestion/securityServiceMetadataPipeline.py +27 -0
  596. metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
  597. metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
  598. metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
  599. metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
  600. metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
  601. metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
  602. metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
  603. metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
  604. metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
  605. metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
  606. metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
  607. metadata/generated/schema/metadataIngestion/workflow.py +1 -1
  608. metadata/generated/schema/monitoring/__init__.py +1 -1
  609. metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
  610. metadata/generated/schema/scim/__init__.py +1 -1
  611. metadata/generated/schema/scim/scimConfiguration.py +1 -1
  612. metadata/generated/schema/search/__init__.py +1 -1
  613. metadata/generated/schema/search/aggregationRequest.py +1 -1
  614. metadata/generated/schema/search/searchRequest.py +1 -1
  615. metadata/generated/schema/security/__init__.py +1 -1
  616. metadata/generated/schema/security/client/__init__.py +1 -1
  617. metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
  618. metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
  619. metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
  620. metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
  621. metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
  622. metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
  623. metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
  624. metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
  625. metadata/generated/schema/security/credentials/__init__.py +1 -1
  626. metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
  627. metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
  628. metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
  629. metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
  630. metadata/generated/schema/security/credentials/basicAuth.py +1 -1
  631. metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
  632. metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
  633. metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
  634. metadata/generated/schema/security/credentials/gcpValues.py +1 -1
  635. metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
  636. metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
  637. metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
  638. metadata/generated/schema/security/sasl/__init__.py +1 -1
  639. metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
  640. metadata/generated/schema/security/secrets/__init__.py +1 -1
  641. metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
  642. metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
  643. metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
  644. metadata/generated/schema/security/securityConfiguration.py +1 -1
  645. metadata/generated/schema/security/ssl/__init__.py +1 -1
  646. metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
  647. metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
  648. metadata/generated/schema/settings/__init__.py +1 -1
  649. metadata/generated/schema/settings/settings.py +1 -1
  650. metadata/generated/schema/system/__init__.py +1 -1
  651. metadata/generated/schema/system/entityError.py +1 -1
  652. metadata/generated/schema/system/eventPublisherJob.py +1 -1
  653. metadata/generated/schema/system/indexingError.py +1 -1
  654. metadata/generated/schema/system/limitsResponse.py +1 -1
  655. metadata/generated/schema/system/ui/__init__.py +1 -1
  656. metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
  657. metadata/generated/schema/system/ui/navigationItem.py +1 -1
  658. metadata/generated/schema/system/ui/page.py +1 -1
  659. metadata/generated/schema/system/ui/tab.py +1 -1
  660. metadata/generated/schema/system/ui/uiCustomization.py +1 -1
  661. metadata/generated/schema/system/validationResponse.py +1 -1
  662. metadata/generated/schema/tests/__init__.py +1 -1
  663. metadata/generated/schema/tests/assigned.py +1 -1
  664. metadata/generated/schema/tests/basic.py +1 -1
  665. metadata/generated/schema/tests/customMetric.py +1 -1
  666. metadata/generated/schema/tests/dataQualityReport.py +1 -1
  667. metadata/generated/schema/tests/resolved.py +1 -1
  668. metadata/generated/schema/tests/testCase.py +1 -1
  669. metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
  670. metadata/generated/schema/tests/testDefinition.py +1 -1
  671. metadata/generated/schema/tests/testSuite.py +1 -1
  672. metadata/generated/schema/type/__init__.py +1 -1
  673. metadata/generated/schema/type/apiSchema.py +1 -1
  674. metadata/generated/schema/type/assetCertification.py +1 -1
  675. metadata/generated/schema/type/auditLog.py +1 -1
  676. metadata/generated/schema/type/basic.py +1 -1
  677. metadata/generated/schema/type/bulkOperationResult.py +1 -1
  678. metadata/generated/schema/type/changeEvent.py +1 -1
  679. metadata/generated/schema/type/changeEventType.py +1 -1
  680. metadata/generated/schema/type/changeSummaryMap.py +1 -1
  681. metadata/generated/schema/type/collectionDescriptor.py +1 -1
  682. metadata/generated/schema/type/csvDocumentation.py +1 -1
  683. metadata/generated/schema/type/csvErrorType.py +1 -1
  684. metadata/generated/schema/type/csvFile.py +1 -1
  685. metadata/generated/schema/type/csvImportResult.py +1 -1
  686. metadata/generated/schema/type/customProperties/__init__.py +1 -1
  687. metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
  688. metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
  689. metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
  690. metadata/generated/schema/type/customProperty.py +1 -1
  691. metadata/generated/schema/type/dailyCount.py +1 -1
  692. metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
  693. metadata/generated/schema/type/entityHierarchy.py +1 -1
  694. metadata/generated/schema/type/entityHistory.py +1 -1
  695. metadata/generated/schema/type/entityLineage.py +1 -1
  696. metadata/generated/schema/type/entityReference.py +1 -1
  697. metadata/generated/schema/type/entityReferenceList.py +1 -1
  698. metadata/generated/schema/type/entityRelationship.py +1 -1
  699. metadata/generated/schema/type/entityUsage.py +1 -1
  700. metadata/generated/schema/type/filterPattern.py +1 -1
  701. metadata/generated/schema/type/function.py +1 -1
  702. metadata/generated/schema/type/include.py +1 -1
  703. metadata/generated/schema/type/jdbcConnection.py +1 -1
  704. metadata/generated/schema/type/lifeCycle.py +1 -1
  705. metadata/generated/schema/type/paging.py +1 -1
  706. metadata/generated/schema/type/profile.py +1 -1
  707. metadata/generated/schema/type/queryParserData.py +1 -1
  708. metadata/generated/schema/type/reaction.py +1 -1
  709. metadata/generated/schema/type/schedule.py +1 -1
  710. metadata/generated/schema/type/schema.py +1 -1
  711. metadata/generated/schema/type/tableQuery.py +1 -1
  712. metadata/generated/schema/type/tableUsageCount.py +1 -1
  713. metadata/generated/schema/type/tagLabel.py +1 -1
  714. metadata/generated/schema/type/usageDetails.py +1 -1
  715. metadata/generated/schema/type/usageRequest.py +1 -1
  716. metadata/generated/schema/type/votes.py +1 -1
  717. metadata/ingestion/api/parser.py +25 -9
  718. metadata/ingestion/ometa/routes.py +6 -0
  719. metadata/ingestion/source/dashboard/tableau/client.py +11 -0
  720. metadata/ingestion/source/dashboard/tableau/connection.py +38 -9
  721. metadata/ingestion/source/dashboard/tableau/metadata.py +1 -1
  722. metadata/ingestion/source/database/athena/metadata.py +25 -2
  723. metadata/ingestion/source/database/athena/utils.py +63 -6
  724. metadata/ingestion/source/database/column_type_parser.py +7 -2
  725. metadata/ingestion/source/database/datalake/metadata.py +2 -2
  726. metadata/ingestion/source/database/dbt/metadata.py +32 -6
  727. metadata/ingestion/source/database/glue/metadata.py +76 -1
  728. metadata/ingestion/source/security/security_service.py +128 -0
  729. metadata/profiler/interface/sqlalchemy/profiler_interface.py +5 -1
  730. metadata/readers/dataframe/base.py +2 -0
  731. metadata/readers/dataframe/dsv.py +50 -5
  732. metadata/readers/dataframe/parquet.py +202 -15
  733. metadata/readers/dataframe/reader_factory.py +6 -1
  734. metadata/sampler/sqlalchemy/sampler.py +60 -64
  735. metadata/sampler/sqlalchemy/snowflake/sampler.py +2 -1
  736. metadata/utils/class_helper.py +1 -0
  737. metadata/utils/constants.py +2 -0
  738. metadata/utils/datalake/datalake_utils.py +1 -0
  739. metadata/utils/entity_utils.py +6 -0
  740. {openmetadata_ingestion-1.8.7.1.dist-info → openmetadata_ingestion-1.8.9.0.dist-info}/METADATA +510 -510
  741. {openmetadata_ingestion-1.8.7.1.dist-info → openmetadata_ingestion-1.8.9.0.dist-info}/RECORD +745 -735
  742. {openmetadata_ingestion-1.8.7.1.dist-info → openmetadata_ingestion-1.8.9.0.dist-info}/LICENSE +0 -0
  743. {openmetadata_ingestion-1.8.7.1.dist-info → openmetadata_ingestion-1.8.9.0.dist-info}/WHEEL +0 -0
  744. {openmetadata_ingestion-1.8.7.1.dist-info → openmetadata_ingestion-1.8.9.0.dist-info}/entry_points.txt +0 -0
  745. {openmetadata_ingestion-1.8.7.1.dist-info → openmetadata_ingestion-1.8.9.0.dist-info}/top_level.txt +0 -0
@@ -53,6 +53,10 @@ from metadata.generated.schema.entity.services.searchService import (
53
53
  SearchConnection,
54
54
  SearchServiceType,
55
55
  )
56
+ from metadata.generated.schema.entity.services.securityService import (
57
+ SecurityConnection,
58
+ SecurityServiceType,
59
+ )
56
60
  from metadata.generated.schema.entity.services.storageService import (
57
61
  StorageConnection,
58
62
  StorageServiceType,
@@ -115,6 +119,10 @@ from metadata.generated.schema.metadataIngestion.searchServiceMetadataPipeline i
115
119
  SearchMetadataConfigType,
116
120
  SearchServiceMetadataPipeline,
117
121
  )
122
+ from metadata.generated.schema.metadataIngestion.securityServiceMetadataPipeline import (
123
+ SecurityMetadataConfigType,
124
+ SecurityServiceMetadataPipeline,
125
+ )
118
126
  from metadata.generated.schema.metadataIngestion.storageServiceMetadataPipeline import (
119
127
  StorageMetadataConfigType,
120
128
  StorageServiceMetadataPipeline,
@@ -144,6 +152,7 @@ SERVICE_TYPE_MAP = {
144
152
  **{service: MlModelConnection for service in MlModelServiceType.__members__},
145
153
  **{service: StorageConnection for service in StorageServiceType.__members__},
146
154
  **{service: SearchConnection for service in SearchServiceType.__members__},
155
+ **{service: SecurityConnection for service in SecurityServiceType.__members__},
147
156
  }
148
157
 
149
158
  SOURCE_CONFIG_CLASS_MAP = {
@@ -157,6 +166,7 @@ SOURCE_CONFIG_CLASS_MAP = {
157
166
  DatabaseMetadataConfigType.DatabaseMetadata.value: DatabaseServiceMetadataPipeline,
158
167
  StorageMetadataConfigType.StorageMetadata.value: StorageServiceMetadataPipeline,
159
168
  SearchMetadataConfigType.SearchMetadata.value: SearchServiceMetadataPipeline,
169
+ SecurityMetadataConfigType.SecurityMetadata.value: SecurityServiceMetadataPipeline,
160
170
  DbtConfigType.DBT.value: DbtPipeline,
161
171
  }
162
172
 
@@ -270,25 +280,31 @@ def _parse_validation_err(validation_error: ValidationError) -> str:
270
280
  Convert the validation error into a message to log
271
281
  """
272
282
  missing_fields = [
273
- f"Extra parameter '{err.get('loc')[0]}'"
274
- if len(err.get("loc")) == 1
275
- else f"Extra parameter in {err.get('loc')}"
283
+ (
284
+ f"Extra parameter '{err.get('loc')[0]}'"
285
+ if len(err.get("loc")) == 1
286
+ else f"Extra parameter in {err.get('loc')}"
287
+ )
276
288
  for err in validation_error.errors()
277
289
  if err.get("type") == "extra_forbidden"
278
290
  ]
279
291
 
280
292
  extra_fields = [
281
- f"Missing parameter '{err.get('loc')[0]}'"
282
- if len(err.get("loc")) == 1
283
- else f"Missing parameter in {err.get('loc')}"
293
+ (
294
+ f"Missing parameter '{err.get('loc')[0]}'"
295
+ if len(err.get("loc")) == 1
296
+ else f"Missing parameter in {err.get('loc')}"
297
+ )
284
298
  for err in validation_error.errors()
285
299
  if err.get("type") == "missing"
286
300
  ]
287
301
 
288
302
  invalid_fields = [
289
- f"Invalid parameter value for '{err.get('loc')[0]}'"
290
- if len(err.get("loc")) == 1
291
- else f"Invalid parameter value for {err.get('loc')}"
303
+ (
304
+ f"Invalid parameter value for '{err.get('loc')[0]}'"
305
+ if len(err.get("loc")) == 1
306
+ else f"Invalid parameter value for {err.get('loc')}"
307
+ )
292
308
  for err in validation_error.errors()
293
309
  if err.get("type") not in ("missing", "extra")
294
310
  ]
@@ -89,6 +89,9 @@ from metadata.generated.schema.api.services.createPipelineService import (
89
89
  from metadata.generated.schema.api.services.createSearchService import (
90
90
  CreateSearchServiceRequest,
91
91
  )
92
+ from metadata.generated.schema.api.services.createSecurityService import (
93
+ CreateSecurityServiceRequest,
94
+ )
92
95
  from metadata.generated.schema.api.services.createStorageService import (
93
96
  CreateStorageServiceRequest,
94
97
  )
@@ -161,6 +164,7 @@ from metadata.generated.schema.entity.services.metadataService import MetadataSe
161
164
  from metadata.generated.schema.entity.services.mlmodelService import MlModelService
162
165
  from metadata.generated.schema.entity.services.pipelineService import PipelineService
163
166
  from metadata.generated.schema.entity.services.searchService import SearchService
167
+ from metadata.generated.schema.entity.services.securityService import SecurityService
164
168
  from metadata.generated.schema.entity.services.storageService import StorageService
165
169
  from metadata.generated.schema.entity.teams.persona import Persona
166
170
  from metadata.generated.schema.entity.teams.role import Role
@@ -256,6 +260,8 @@ ROUTES = {
256
260
  CreateMetadataServiceRequest.__name__: "/services/metadataServices",
257
261
  SearchService.__name__: "/services/searchServices",
258
262
  CreateSearchServiceRequest.__name__: "/services/searchServices",
263
+ SecurityService.__name__: "/services/securityServices",
264
+ CreateSecurityServiceRequest.__name__: "/services/securityServices",
259
265
  IngestionPipeline.__name__: "/services/ingestionPipelines",
260
266
  CreateIngestionPipelineRequest.__name__: "/services/ingestionPipelines",
261
267
  TestConnectionDefinition.__name__: "/services/testConnectionDefinitions",
@@ -41,6 +41,7 @@ from metadata.ingestion.source.dashboard.tableau.queries import (
41
41
  TALEAU_GET_CUSTOM_SQL_QUERY,
42
42
  )
43
43
  from metadata.utils.logger import ometa_logger
44
+ from metadata.utils.ssl_manager import SSLManager
44
45
 
45
46
  logger = ometa_logger()
46
47
 
@@ -80,6 +81,7 @@ class TableauClient:
80
81
  config,
81
82
  verify_ssl: Union[bool, str],
82
83
  pagination_limit: int,
84
+ ssl_manager: Optional[SSLManager] = None,
83
85
  ):
84
86
  self.tableau_server = Server(str(config.hostPort), use_server_version=True)
85
87
  if config.apiVersion:
@@ -91,6 +93,7 @@ class TableauClient:
91
93
  self.custom_sql_table_queries: Dict[str, List[str]] = {}
92
94
  self.owner_cache: Dict[str, TableauOwner] = {}
93
95
  self.all_projects: List[ProjectItem] = []
96
+ self.ssl_manager = ssl_manager
94
97
 
95
98
  @cached_property
96
99
  def server_info(self) -> Callable:
@@ -414,3 +417,11 @@ class TableauClient:
414
417
 
415
418
  def sign_out(self) -> None:
416
419
  self.tableau_server.auth.sign_out()
420
+ self.cleanup()
421
+
422
+ def cleanup(self) -> None:
423
+ """
424
+ Clean up temporary SSL files if they exist
425
+ """
426
+ if self.ssl_manager:
427
+ self.ssl_manager.cleanup_temp_files()
@@ -38,6 +38,7 @@ from metadata.ingestion.ometa.ometa_api import OpenMetadata
38
38
  from metadata.ingestion.source.dashboard.tableau.client import TableauClient
39
39
  from metadata.utils.constants import THREE_MIN
40
40
  from metadata.utils.logger import ingestion_logger
41
+ from metadata.utils.ssl_manager import SSLManager
41
42
 
42
43
  logger = ingestion_logger()
43
44
 
@@ -47,13 +48,14 @@ def get_connection(connection: TableauConnection) -> TableauClient:
47
48
  Create connection
48
49
  """
49
50
  tableau_server_auth = build_server_config(connection)
50
- verify_ssl = set_verify_ssl(connection)
51
+ verify_ssl, ssl_manager = set_verify_ssl(connection)
51
52
  try:
52
53
  return TableauClient(
53
54
  tableau_server_auth=tableau_server_auth,
54
55
  config=connection,
55
56
  verify_ssl=verify_ssl,
56
57
  pagination_limit=connection.paginationLimit,
58
+ ssl_manager=ssl_manager,
57
59
  )
58
60
  except Exception as exc:
59
61
  logger.debug(traceback.format_exc())
@@ -62,19 +64,46 @@ def get_connection(connection: TableauConnection) -> TableauClient:
62
64
  )
63
65
 
64
66
 
65
- def set_verify_ssl(connection: TableauConnection) -> Union[bool, str]:
67
+ def set_verify_ssl(
68
+ connection: TableauConnection,
69
+ ) -> tuple[Union[bool, str], Optional[SSLManager]]:
66
70
  """
67
71
  Set verify ssl based on connection configuration
68
72
  ref: https://tableau.github.io/server-client-python/docs/sign-in-out#handling-ssl-certificates-for-tableau-server
69
73
  """
70
- if connection.verifySSL.value == "validate":
71
- if connection.sslConfig.root.caCertificate:
72
- return connection.sslConfig.root.caCertificate.get_secret_value()
73
- if connection.sslConfig.root.sslCertificate:
74
- return connection.sslConfig.root.sslCertificate.get_secret_value()
74
+ if connection.verifySSL.value == "no-ssl":
75
+ return None, None
76
+
75
77
  if connection.verifySSL.value == "ignore":
76
- return False
77
- return None
78
+ return False, None
79
+
80
+ if connection.verifySSL.value == "validate":
81
+ # Use SSLManager to create temporary certificate files
82
+ if not connection.sslConfig:
83
+ raise ValueError(
84
+ "SSL Config is required when verifySSL is set to 'validate'. "
85
+ "Please provide CA certificate, SSL certificate, or SSL key."
86
+ )
87
+
88
+ # Create SSLManager to handle certificate files
89
+ ssl_manager = SSLManager(
90
+ ca=connection.sslConfig.root.caCertificate,
91
+ cert=connection.sslConfig.root.sslCertificate,
92
+ key=connection.sslConfig.root.sslKey,
93
+ )
94
+
95
+ # Return the CA certificate file path for verification
96
+ # If no CA certificate is provided, use default verification
97
+ if ssl_manager.ca_file_path:
98
+ return ssl_manager.ca_file_path, ssl_manager
99
+ else:
100
+ # If no CA certificate is provided but SSL is enabled, use default verification
101
+ return True, ssl_manager
102
+
103
+ raise ValueError(
104
+ f"Unsupported verifySSL value: {connection.verifySSL.value}. "
105
+ "Expected one of ['no-ssl', 'ignore', 'validate']."
106
+ )
78
107
 
79
108
 
80
109
  def test_connection(
@@ -696,7 +696,7 @@ class TableauSource(DashboardServiceSource):
696
696
  "No table entities found for custom SQL lineage."
697
697
  f"fqn_search_string={fqn_search_string}, table_name={table_name}, query={query}"
698
698
  )
699
- for table_entity in from_entities:
699
+ for table_entity in from_entities or []:
700
700
  yield self._get_add_lineage_request(
701
701
  to_entity=upstream_data_model_entity,
702
702
  from_entity=table_entity,
@@ -115,6 +115,7 @@ class AthenaSource(ExternalTableLineageMixin, CommonDbSourceService):
115
115
  )
116
116
  self.external_location_map = {}
117
117
  self.schema_description_map = {}
118
+ self.glue_client = None
118
119
 
119
120
  def prepare(self):
120
121
  """
@@ -122,8 +123,10 @@ class AthenaSource(ExternalTableLineageMixin, CommonDbSourceService):
122
123
  """
123
124
  try:
124
125
  super().prepare()
125
- glue_client = AWSClient(self.service_connection.awsConfig).get_glue_client()
126
- paginator = glue_client.get_paginator("get_databases")
126
+ self.glue_client = AWSClient(
127
+ self.service_connection.awsConfig
128
+ ).get_glue_client()
129
+ paginator = self.glue_client.get_paginator("get_databases")
127
130
  for page in paginator.paginate():
128
131
  database_page = DatabasePage(**page)
129
132
  for database in database_page.DatabaseList or []:
@@ -304,3 +307,23 @@ class AthenaSource(ExternalTableLineageMixin, CommonDbSourceService):
304
307
  else:
305
308
  description = table_info.get("text")
306
309
  return description
310
+
311
+ def _get_columns_internal(
312
+ self,
313
+ schema_name: str,
314
+ table_name: str,
315
+ db_name: str,
316
+ inspector: Inspector,
317
+ table_type: TableType = None,
318
+ ):
319
+ """
320
+ Override to pass Glue client to get_columns for Iceberg table filtering
321
+ """
322
+ # Pass the Glue client as a keyword argument to get_columns
323
+ return inspector.get_columns(
324
+ table_name,
325
+ schema_name,
326
+ table_type=table_type,
327
+ db_name=db_name,
328
+ glue_client=self.glue_client,
329
+ )
@@ -20,9 +20,12 @@ from sqlalchemy.engine import reflection
20
20
 
21
21
  from metadata.ingestion.source import sqa_types
22
22
  from metadata.ingestion.source.database.column_type_parser import ColumnTypeParser
23
+ from metadata.utils.logger import utils_logger
23
24
  from metadata.utils.sqlalchemy_utils import is_complex_type
24
25
 
26
+ logger = utils_logger()
25
27
 
28
+ # pylint: disable=protected-access
26
29
  @reflection.cache
27
30
  def _get_column_type(self, type_):
28
31
  """
@@ -30,7 +33,7 @@ def _get_column_type(self, type_):
30
33
  to add custom SQA typing.
31
34
  """
32
35
  type_ = type_.replace(" ", "").lower()
33
- match = self._pattern_column_type.match(type_) # pylint: disable=protected-access
36
+ match = self._pattern_column_type.match(type_)
34
37
  if match:
35
38
  name = match.group(1).lower()
36
39
  length = match.group(2)
@@ -113,18 +116,17 @@ def _get_projection_details(
113
116
  return columns
114
117
 
115
118
 
119
+ # pylint: disable=too-many-locals
116
120
  @reflection.cache
117
121
  def get_columns(self, connection, table_name, schema=None, **kw):
118
122
  """
119
123
  Method to handle table columns
120
124
  """
121
- metadata = self._get_table( # pylint: disable=protected-access
122
- connection, table_name, schema=schema, **kw
123
- )
125
+ metadata = self._get_table(connection, table_name, schema=schema, **kw)
124
126
  columns = [
125
127
  {
126
128
  "name": c.name,
127
- "type": self._get_column_type(c.type), # pylint: disable=protected-access
129
+ "type": self._get_column_type(c.type),
128
130
  "nullable": True,
129
131
  "default": None,
130
132
  "autoincrement": False,
@@ -147,10 +149,65 @@ def get_columns(self, connection, table_name, schema=None, **kw):
147
149
  columns = _get_projection_details(columns, projection_parameters)
148
150
  return columns
149
151
 
152
+ # Check if this is an Iceberg table
153
+ if metadata.parameters.get("table_type") == "ICEBERG":
154
+ # For Iceberg tables, get the full table metadata from Glue to access column parameters
155
+ try:
156
+ # Get the raw connection to access schema information
157
+ raw_connection = self._raw_connection(connection)
158
+ schema = schema if schema else raw_connection.schema_name
159
+
160
+ # Use the provided Glue client or create one with default credentials
161
+ glue_client = kw.get("glue_client")
162
+
163
+ # Get full table metadata from Glue
164
+ response = glue_client.get_table(DatabaseName=schema, Name=table_name)
165
+
166
+ table_info = response["Table"]
167
+
168
+ # Filter out non-current Iceberg columns
169
+ current_columns = []
170
+ storage_descriptor = table_info.get("StorageDescriptor", {})
171
+ glue_columns = storage_descriptor.get("Columns", [])
172
+
173
+ for glue_col in glue_columns:
174
+ col_name = glue_col["Name"]
175
+ col_type = glue_col["Type"]
176
+ col_comment = glue_col.get("Comment", "")
177
+ col_parameters = glue_col.get("Parameters", {})
178
+
179
+ # Check if this is a non-current Iceberg column
180
+ iceberg_current = col_parameters.get("iceberg.field.current", "true")
181
+ is_current = iceberg_current != "false"
182
+
183
+ if is_current:
184
+ current_columns.append(
185
+ {
186
+ "name": col_name,
187
+ "type": self._get_column_type(col_type),
188
+ "nullable": True,
189
+ "default": None,
190
+ "autoincrement": False,
191
+ "comment": col_comment,
192
+ "system_data_type": col_type,
193
+ "is_complex": is_complex_type(col_type),
194
+ "dialect_options": {"awsathena_partition": None},
195
+ }
196
+ )
197
+
198
+ columns += current_columns
199
+ return columns
200
+
201
+ except Exception as e:
202
+ # If we can't get Glue metadata, fall back to the original method
203
+ # This ensures backward compatibility
204
+ logger.warning(f"Error getting Glue metadata for table {table_name}: {e}")
205
+
206
+ # For non-Iceberg tables or if Glue access fails, use the original method
150
207
  columns += [
151
208
  {
152
209
  "name": c.name,
153
- "type": self._get_column_type(c.type), # pylint: disable=protected-access
210
+ "type": self._get_column_type(c.type),
154
211
  "nullable": True,
155
212
  "default": None,
156
213
  "autoincrement": False,
@@ -444,8 +444,13 @@ class ColumnTypeParser:
444
444
  if not data_type:
445
445
  return {"dataType": "NULL", "dataTypeDisplay": dtype}
446
446
  data_length = 1
447
- if re.match(r".*(\([\w]*\))", dtype):
448
- data_length = re.match(r".*\(([\w]*)\)", dtype).groups()[0]
447
+ match = re.match(r".*\(([\w]*)\)", dtype)
448
+ if match:
449
+ try:
450
+ data_length = int(match.groups()[0])
451
+ except ValueError:
452
+ # If conversion fails, keep it as 1 (default)
453
+ data_length = 1
449
454
  return {
450
455
  "dataType": data_type,
451
456
  "dataTypeDisplay": data_type,
@@ -250,10 +250,10 @@ class DatalakeSource(DatabaseServiceSource):
250
250
  if self.source_config.includeTables:
251
251
  for key_name in self.client.get_table_names(bucket_name, prefix):
252
252
  table_name = self.standardize_table_name(bucket_name, key_name)
253
- logger.info(f"Processing table: {table_name}")
253
+
254
254
  if self.filter_dl_table(table_name):
255
255
  continue
256
-
256
+ logger.info(f"Processing table: {table_name}")
257
257
  file_extension = get_file_format_type(
258
258
  key_name=key_name, metadata_entry=metadata_entry
259
259
  )
@@ -147,15 +147,41 @@ class DbtSource(DbtServiceSource):
147
147
  self, manifest_node: Any, catalog_node: Optional[Any]
148
148
  ) -> Optional[EntityReferenceList]:
149
149
  """
150
- Returns dbt owner
150
+ Returns dbt owner with priority:
151
+ 1. manifest_node.meta.openmetadata.owner (OpenMetadata docs format - HIGHEST PRIORITY)
152
+ 2. manifest_node.meta.owner (old format)
153
+ 3. catalog_node.metadata.owner (standard DBT location - LOWEST PRIORITY)
151
154
  """
152
155
  try:
153
- owner_ref = None
154
156
  dbt_owner = None
155
- if catalog_node:
156
- dbt_owner = catalog_node.metadata.owner
157
- if manifest_node:
158
- dbt_owner = manifest_node.meta.get(DbtCommonEnum.OWNER.value)
157
+
158
+ # PRIORITY 1: Check manifest node meta.openmetadata.owner
159
+ if manifest_node and manifest_node.meta:
160
+ openmetadata = manifest_node.meta.get("openmetadata", {})
161
+ if openmetadata:
162
+ openmetadata_owner = openmetadata.get("owner")
163
+ if openmetadata_owner:
164
+ dbt_owner = openmetadata_owner
165
+
166
+ # PRIORITY 2: Check old format meta.owner
167
+ if not dbt_owner:
168
+ if manifest_node and manifest_node.meta:
169
+ old_owner = manifest_node.meta.get(DbtCommonEnum.OWNER.value)
170
+ if old_owner:
171
+ dbt_owner = old_owner
172
+
173
+ # PRIORITY 3: Check catalog node
174
+ if not dbt_owner:
175
+ if catalog_node:
176
+ try:
177
+ catalog_owner = catalog_node.metadata.owner
178
+ if catalog_owner:
179
+ dbt_owner = catalog_owner
180
+ except Exception as catalog_exc:
181
+ logger.debug(
182
+ f"Error accessing catalog_node.metadata.owner: {catalog_exc}"
183
+ )
184
+
159
185
  if dbt_owner and isinstance(dbt_owner, str):
160
186
  owner_ref = self.metadata.get_reference_by_name(
161
187
  name=dbt_owner, is_owner=True
@@ -377,12 +377,87 @@ class GlueSource(ExternalTableLineageMixin, DatabaseServiceSource):
377
377
  parsed_string["description"] = column.Comment
378
378
  return Column(**parsed_string)
379
379
 
380
+ # pylint: disable=too-many-locals
380
381
  def get_columns(self, column_data: StorageDetails) -> Optional[Iterable[Column]]:
382
+ """
383
+ Get columns from Glue.
384
+ """
385
+ # Check if this is an Iceberg table
386
+ table = self.context.get().table_data
387
+ is_iceberg = table.Parameters and table.Parameters.table_type == "ICEBERG"
388
+
389
+ if is_iceberg:
390
+ # For Iceberg tables, get the full table metadata from Glue to access column parameters
391
+ try:
392
+ schema_name = self.context.get().database_schema
393
+ table_name = table.Name
394
+
395
+ # Get full table metadata from Glue API
396
+ response = self.glue.get_table(
397
+ DatabaseName=schema_name, Name=table_name
398
+ )
399
+
400
+ table_info = response["Table"]
401
+
402
+ # Filter out non-current Iceberg columns
403
+ storage_descriptor = table_info.get("StorageDescriptor", {})
404
+ glue_columns = storage_descriptor.get("Columns", [])
405
+
406
+ for glue_col in glue_columns:
407
+ col_name = glue_col["Name"]
408
+ col_type = glue_col["Type"]
409
+ col_comment = glue_col.get("Comment", "")
410
+ col_parameters = glue_col.get("Parameters", {})
411
+
412
+ # Check if this is a non-current Iceberg column
413
+ iceberg_current = col_parameters.get(
414
+ "iceberg.field.current", "true"
415
+ )
416
+ is_current = iceberg_current != "false"
417
+
418
+ if is_current:
419
+ # Create a GlueColumn object for processing
420
+ column_obj = GlueColumn(
421
+ Name=col_name, Type=col_type, Comment=col_comment
422
+ )
423
+ yield self._get_column_object(column_obj)
424
+
425
+ # Process partition columns
426
+ partition_keys = table_info.get("PartitionKeys", [])
427
+ for glue_col in partition_keys:
428
+ col_name = glue_col["Name"]
429
+ col_type = glue_col["Type"]
430
+ col_comment = glue_col.get("Comment", "")
431
+ col_parameters = glue_col.get("Parameters", {})
432
+
433
+ # Check if this is a non-current Iceberg column
434
+ iceberg_current = col_parameters.get(
435
+ "iceberg.field.current", "true"
436
+ )
437
+ is_current = iceberg_current != "false"
438
+
439
+ if is_current:
440
+ # Create a GlueColumn object for processing
441
+ column_obj = GlueColumn(
442
+ Name=col_name, Type=col_type, Comment=col_comment
443
+ )
444
+ yield self._get_column_object(column_obj)
445
+
446
+ return
447
+
448
+ except Exception as e:
449
+ # If we can't get Glue metadata, fall back to the original method
450
+ # This ensures backward compatibility
451
+ logger.warning(
452
+ f"Failed to get Glue metadata for Iceberg table {table.Name}: {e}"
453
+ )
454
+
455
+ # For non-Iceberg tables or if Glue access fails, use the original method
381
456
  # process table regular columns info
382
457
  for column in column_data.Columns:
383
458
  yield self._get_column_object(column)
384
459
 
385
- # process table regular columns info
460
+ # process table partition columns info
386
461
  for column in self.context.get().table_data.PartitionKeys:
387
462
  yield self._get_column_object(column)
388
463