openmetadata-ingestion 1.7.3.0__py3-none-any.whl → 1.7.4.1__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.
- metadata/generated/schema/analytics/__init__.py +1 -1
- metadata/generated/schema/analytics/basic.py +1 -1
- metadata/generated/schema/analytics/reportData.py +1 -1
- metadata/generated/schema/analytics/reportDataType/__init__.py +1 -1
- metadata/generated/schema/analytics/reportDataType/aggregatedCostAnalysisReportData.py +1 -1
- metadata/generated/schema/analytics/reportDataType/entityReportData.py +1 -1
- metadata/generated/schema/analytics/reportDataType/rawCostAnalysisReportData.py +1 -1
- metadata/generated/schema/analytics/reportDataType/webAnalyticEntityViewReportData.py +1 -1
- metadata/generated/schema/analytics/reportDataType/webAnalyticUserActivityReportData.py +1 -1
- metadata/generated/schema/analytics/webAnalyticEvent.py +1 -1
- metadata/generated/schema/analytics/webAnalyticEventData.py +1 -1
- metadata/generated/schema/analytics/webAnalyticEventType/__init__.py +1 -1
- metadata/generated/schema/analytics/webAnalyticEventType/customEvent.py +1 -1
- metadata/generated/schema/analytics/webAnalyticEventType/pageViewEvent.py +1 -1
- metadata/generated/schema/api/__init__.py +1 -1
- metadata/generated/schema/api/addGlossaryToAssetsRequest.py +1 -1
- metadata/generated/schema/api/addTagToAssetsRequest.py +1 -1
- metadata/generated/schema/api/analytics/__init__.py +1 -1
- metadata/generated/schema/api/analytics/createWebAnalyticEvent.py +1 -1
- metadata/generated/schema/api/automations/__init__.py +1 -1
- metadata/generated/schema/api/automations/createWorkflow.py +1 -1
- metadata/generated/schema/api/bulkAssets.py +1 -1
- metadata/generated/schema/api/classification/__init__.py +1 -1
- metadata/generated/schema/api/classification/createClassification.py +1 -1
- metadata/generated/schema/api/classification/createTag.py +1 -1
- metadata/generated/schema/api/classification/loadTags.py +1 -1
- metadata/generated/schema/api/createBot.py +1 -1
- metadata/generated/schema/api/createEventPublisherJob.py +1 -1
- metadata/generated/schema/api/createType.py +1 -1
- metadata/generated/schema/api/data/__init__.py +1 -1
- metadata/generated/schema/api/data/createAPICollection.py +1 -1
- metadata/generated/schema/api/data/createAPIEndpoint.py +1 -1
- metadata/generated/schema/api/data/createChart.py +1 -1
- metadata/generated/schema/api/data/createContainer.py +1 -1
- metadata/generated/schema/api/data/createCustomProperty.py +1 -1
- metadata/generated/schema/api/data/createDashboard.py +1 -1
- metadata/generated/schema/api/data/createDashboardDataModel.py +1 -1
- metadata/generated/schema/api/data/createDatabase.py +1 -1
- metadata/generated/schema/api/data/createDatabaseSchema.py +1 -1
- metadata/generated/schema/api/data/createGlossary.py +1 -1
- metadata/generated/schema/api/data/createGlossaryTerm.py +1 -1
- metadata/generated/schema/api/data/createMetric.py +1 -1
- metadata/generated/schema/api/data/createMlModel.py +1 -1
- metadata/generated/schema/api/data/createPipeline.py +1 -1
- metadata/generated/schema/api/data/createQuery.py +1 -1
- metadata/generated/schema/api/data/createQueryCostRecord.py +1 -1
- metadata/generated/schema/api/data/createSearchIndex.py +1 -1
- metadata/generated/schema/api/data/createStoredProcedure.py +1 -1
- metadata/generated/schema/api/data/createTable.py +1 -1
- metadata/generated/schema/api/data/createTableProfile.py +1 -1
- metadata/generated/schema/api/data/createTopic.py +1 -1
- metadata/generated/schema/api/data/loadGlossary.py +1 -1
- metadata/generated/schema/api/data/restoreEntity.py +1 -1
- metadata/generated/schema/api/dataInsight/__init__.py +1 -1
- metadata/generated/schema/api/dataInsight/createDataInsightChart.py +1 -1
- metadata/generated/schema/api/dataInsight/custom/__init__.py +1 -1
- metadata/generated/schema/api/dataInsight/custom/createDataInsightCustomChart.py +1 -1
- metadata/generated/schema/api/dataInsight/kpi/__init__.py +1 -1
- metadata/generated/schema/api/dataInsight/kpi/createKpiRequest.py +1 -1
- metadata/generated/schema/api/docStore/__init__.py +1 -1
- metadata/generated/schema/api/docStore/createDocument.py +1 -1
- metadata/generated/schema/api/domains/__init__.py +1 -1
- metadata/generated/schema/api/domains/createDataProduct.py +1 -1
- metadata/generated/schema/api/domains/createDomain.py +1 -1
- metadata/generated/schema/api/feed/__init__.py +1 -1
- metadata/generated/schema/api/feed/closeTask.py +1 -1
- metadata/generated/schema/api/feed/createPost.py +1 -1
- metadata/generated/schema/api/feed/createSuggestion.py +1 -1
- metadata/generated/schema/api/feed/createThread.py +1 -1
- metadata/generated/schema/api/feed/resolveTask.py +1 -1
- metadata/generated/schema/api/feed/threadCount.py +1 -1
- metadata/generated/schema/api/governance/__init__.py +1 -1
- metadata/generated/schema/api/governance/createWorkflowDefinition.py +1 -1
- metadata/generated/schema/api/governance/createWorkflowInstanceState.py +1 -1
- metadata/generated/schema/api/lineage/__init__.py +1 -1
- metadata/generated/schema/api/lineage/addLineage.py +1 -1
- metadata/generated/schema/api/lineage/esLineageData.py +1 -1
- metadata/generated/schema/api/lineage/lineageDirection.py +1 -1
- metadata/generated/schema/api/lineage/nodeInformation.py +1 -1
- metadata/generated/schema/api/lineage/searchLineageRequest.py +1 -1
- metadata/generated/schema/api/lineage/searchLineageResult.py +1 -1
- metadata/generated/schema/api/openMetadataServerVersion.py +1 -1
- metadata/generated/schema/api/policies/__init__.py +1 -1
- metadata/generated/schema/api/policies/createPolicy.py +1 -1
- metadata/generated/schema/api/search/__init__.py +1 -1
- metadata/generated/schema/api/search/previewSearchRequest.py +1 -1
- metadata/generated/schema/api/services/__init__.py +1 -1
- metadata/generated/schema/api/services/createApiService.py +1 -1
- metadata/generated/schema/api/services/createDashboardService.py +1 -1
- metadata/generated/schema/api/services/createDatabaseService.py +1 -1
- metadata/generated/schema/api/services/createMessagingService.py +1 -1
- metadata/generated/schema/api/services/createMetadataService.py +1 -1
- metadata/generated/schema/api/services/createMlModelService.py +1 -1
- metadata/generated/schema/api/services/createPipelineService.py +1 -1
- metadata/generated/schema/api/services/createSearchService.py +1 -1
- metadata/generated/schema/api/services/createStorageService.py +1 -1
- metadata/generated/schema/api/services/ingestionPipelines/__init__.py +1 -1
- metadata/generated/schema/api/services/ingestionPipelines/createIngestionPipeline.py +1 -1
- metadata/generated/schema/api/setOwner.py +1 -1
- metadata/generated/schema/api/teams/__init__.py +1 -1
- metadata/generated/schema/api/teams/createPersona.py +1 -1
- metadata/generated/schema/api/teams/createRole.py +1 -1
- metadata/generated/schema/api/teams/createTeam.py +1 -1
- metadata/generated/schema/api/teams/createUser.py +1 -1
- metadata/generated/schema/api/tests/__init__.py +1 -1
- metadata/generated/schema/api/tests/createCustomMetric.py +1 -1
- metadata/generated/schema/api/tests/createLogicalTestCases.py +1 -1
- metadata/generated/schema/api/tests/createTestCase.py +1 -1
- metadata/generated/schema/api/tests/createTestCaseResolutionStatus.py +1 -1
- metadata/generated/schema/api/tests/createTestCaseResult.py +1 -1
- metadata/generated/schema/api/tests/createTestDefinition.py +1 -1
- metadata/generated/schema/api/tests/createTestSuite.py +1 -1
- metadata/generated/schema/api/voteRequest.py +1 -1
- metadata/generated/schema/auth/__init__.py +1 -1
- metadata/generated/schema/auth/basicAuth.py +1 -1
- metadata/generated/schema/auth/basicLoginRequest.py +1 -1
- metadata/generated/schema/auth/changePasswordRequest.py +1 -1
- metadata/generated/schema/auth/createPersonalToken.py +1 -1
- metadata/generated/schema/auth/emailRequest.py +1 -1
- metadata/generated/schema/auth/emailVerificationToken.py +1 -1
- metadata/generated/schema/auth/generateToken.py +1 -1
- metadata/generated/schema/auth/jwtAuth.py +1 -1
- metadata/generated/schema/auth/loginRequest.py +1 -1
- metadata/generated/schema/auth/logoutRequest.py +1 -1
- metadata/generated/schema/auth/passwordResetRequest.py +1 -1
- metadata/generated/schema/auth/passwordResetToken.py +1 -1
- metadata/generated/schema/auth/personalAccessToken.py +1 -1
- metadata/generated/schema/auth/refreshToken.py +1 -1
- metadata/generated/schema/auth/registrationRequest.py +1 -1
- metadata/generated/schema/auth/revokePersonalToken.py +1 -1
- metadata/generated/schema/auth/revokeToken.py +1 -1
- metadata/generated/schema/auth/serviceTokenEnum.py +1 -1
- metadata/generated/schema/auth/ssoAuth.py +1 -1
- metadata/generated/schema/auth/tokenRefreshRequest.py +1 -1
- metadata/generated/schema/configuration/__init__.py +1 -1
- metadata/generated/schema/configuration/appsPrivateConfiguration.py +1 -1
- metadata/generated/schema/configuration/assetCertificationSettings.py +1 -1
- metadata/generated/schema/configuration/authConfig.py +1 -1
- metadata/generated/schema/configuration/authenticationConfiguration.py +1 -1
- metadata/generated/schema/configuration/authorizerConfiguration.py +1 -1
- metadata/generated/schema/configuration/changeEventConfiguration.py +1 -1
- metadata/generated/schema/configuration/dataQualityConfiguration.py +1 -1
- metadata/generated/schema/configuration/elasticSearchConfiguration.py +1 -1
- metadata/generated/schema/configuration/eventHandlerConfiguration.py +1 -1
- metadata/generated/schema/configuration/fernetConfiguration.py +1 -1
- metadata/generated/schema/configuration/jwtTokenConfiguration.py +1 -1
- metadata/generated/schema/configuration/kafkaEventConfiguration.py +1 -1
- metadata/generated/schema/configuration/ldapConfiguration.py +1 -1
- metadata/generated/schema/configuration/ldapTrustStoreConfig/__init__.py +1 -1
- metadata/generated/schema/configuration/ldapTrustStoreConfig/customTrustManagerConfig.py +1 -1
- metadata/generated/schema/configuration/ldapTrustStoreConfig/hostNameConfig.py +1 -1
- metadata/generated/schema/configuration/ldapTrustStoreConfig/jvmDefaultConfig.py +1 -1
- metadata/generated/schema/configuration/ldapTrustStoreConfig/trustAllConfig.py +1 -1
- metadata/generated/schema/configuration/ldapTrustStoreConfig/truststoreConfig.py +1 -1
- metadata/generated/schema/configuration/limitsConfiguration.py +1 -1
- metadata/generated/schema/configuration/lineageSettings.py +1 -1
- metadata/generated/schema/configuration/loginConfiguration.py +1 -1
- metadata/generated/schema/configuration/logoConfiguration.py +1 -1
- metadata/generated/schema/configuration/openMetadataBaseUrlConfiguration.py +1 -1
- metadata/generated/schema/configuration/opertionalConfiguration.py +1 -1
- metadata/generated/schema/configuration/opsConfig.py +1 -1
- metadata/generated/schema/configuration/pipelineServiceClientConfiguration.py +1 -1
- metadata/generated/schema/configuration/profilerConfiguration.py +1 -1
- metadata/generated/schema/configuration/searchSettings.py +1 -1
- metadata/generated/schema/configuration/slackAppConfiguration.py +1 -1
- metadata/generated/schema/configuration/taskNotificationConfiguration.py +1 -1
- metadata/generated/schema/configuration/testResultNotificationConfiguration.py +1 -1
- metadata/generated/schema/configuration/themeConfiguration.py +1 -1
- metadata/generated/schema/configuration/uiThemePreference.py +1 -1
- metadata/generated/schema/configuration/workflowSettings.py +1 -1
- metadata/generated/schema/dataInsight/__init__.py +1 -1
- metadata/generated/schema/dataInsight/custom/__init__.py +1 -1
- metadata/generated/schema/dataInsight/custom/dataInsightCustomChart.py +1 -1
- metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResult.py +1 -1
- metadata/generated/schema/dataInsight/custom/dataInsightCustomChartResultList.py +1 -1
- metadata/generated/schema/dataInsight/custom/formulaHolder.py +1 -1
- metadata/generated/schema/dataInsight/custom/lineChart.py +1 -1
- metadata/generated/schema/dataInsight/custom/summaryCard.py +1 -1
- metadata/generated/schema/dataInsight/dataInsightChart.py +1 -1
- metadata/generated/schema/dataInsight/dataInsightChartResult.py +1 -1
- metadata/generated/schema/dataInsight/kpi/__init__.py +1 -1
- metadata/generated/schema/dataInsight/kpi/basic.py +1 -1
- metadata/generated/schema/dataInsight/kpi/kpi.py +1 -1
- metadata/generated/schema/dataInsight/type/__init__.py +1 -1
- metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsCount.py +1 -1
- metadata/generated/schema/dataInsight/type/aggregatedUnusedAssetsSize.py +1 -1
- metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsCount.py +1 -1
- metadata/generated/schema/dataInsight/type/aggregatedUsedVsUnusedAssetsSize.py +1 -1
- metadata/generated/schema/dataInsight/type/dailyActiveUsers.py +1 -1
- metadata/generated/schema/dataInsight/type/mostActiveUsers.py +1 -1
- metadata/generated/schema/dataInsight/type/mostViewedEntities.py +1 -1
- metadata/generated/schema/dataInsight/type/pageViewsByEntities.py +1 -1
- metadata/generated/schema/dataInsight/type/unusedAssets.py +1 -1
- metadata/generated/schema/email/__init__.py +1 -1
- metadata/generated/schema/email/emailRequest.py +1 -1
- metadata/generated/schema/email/emailTemplate.py +1 -1
- metadata/generated/schema/email/emailTemplatePlaceholder.py +1 -1
- metadata/generated/schema/email/smtpSettings.py +1 -1
- metadata/generated/schema/email/templateValidationReponse.py +1 -1
- metadata/generated/schema/entity/__init__.py +1 -1
- metadata/generated/schema/entity/applications/__init__.py +1 -1
- metadata/generated/schema/entity/applications/app.py +1 -1
- metadata/generated/schema/entity/applications/appExtension.py +1 -1
- metadata/generated/schema/entity/applications/appRunRecord.py +1 -1
- metadata/generated/schema/entity/applications/configuration/__init__.py +1 -1
- metadata/generated/schema/entity/applications/configuration/applicationConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/__init__.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/__init__.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addCustomProperties.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addDataProductAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addDescriptionAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addDomainAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addOwnerAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addTagsAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addTestCaseAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/addTierAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/lineagePropagationAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/mlTaggingAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeCustomPropertiesAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeDataProductAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeDescriptionAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeDomainAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeOwnerAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeTagsAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeTestCaseAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automator/removeTierAction.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/automatorAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/collateAIAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/external/slackAppTokenConfiguration.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/__init__.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/autoPilotAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/collateAIQualityAgentAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/collateAITierAgentAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/dataInsightsAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/dataInsightsReportAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/dataRetentionConfiguration.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/helloPipelinesConfiguration.py +1 -1
- metadata/generated/schema/entity/applications/configuration/internal/searchIndexingAppConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/private/__init__.py +1 -1
- metadata/generated/schema/entity/applications/configuration/private/external/__init__.py +1 -1
- metadata/generated/schema/entity/applications/configuration/private/external/collateAIAppPrivateConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/private/internal/__init__.py +1 -1
- metadata/generated/schema/entity/applications/configuration/private/internal/collateAITierAgentAppPrivateConfig.py +1 -1
- metadata/generated/schema/entity/applications/configuration/private/limits.py +1 -1
- metadata/generated/schema/entity/applications/createAppRequest.py +1 -1
- metadata/generated/schema/entity/applications/jobStatus.py +1 -1
- metadata/generated/schema/entity/applications/liveExecutionContext.py +1 -1
- metadata/generated/schema/entity/applications/marketplace/__init__.py +1 -1
- metadata/generated/schema/entity/applications/marketplace/appMarketPlaceDefinition.py +1 -1
- metadata/generated/schema/entity/applications/marketplace/createAppMarketPlaceDefinitionReq.py +1 -1
- metadata/generated/schema/entity/applications/scheduledExecutionContext.py +1 -1
- metadata/generated/schema/entity/automations/__init__.py +1 -1
- metadata/generated/schema/entity/automations/testServiceConnection.py +1 -1
- metadata/generated/schema/entity/automations/workflow.py +1 -1
- metadata/generated/schema/entity/bot.py +1 -1
- metadata/generated/schema/entity/classification/__init__.py +1 -1
- metadata/generated/schema/entity/classification/classification.py +1 -1
- metadata/generated/schema/entity/classification/tag.py +1 -1
- metadata/generated/schema/entity/data/__init__.py +1 -1
- metadata/generated/schema/entity/data/apiCollection.py +1 -1
- metadata/generated/schema/entity/data/apiEndpoint.py +1 -1
- metadata/generated/schema/entity/data/chart.py +1 -1
- metadata/generated/schema/entity/data/container.py +1 -1
- metadata/generated/schema/entity/data/dashboard.py +1 -1
- metadata/generated/schema/entity/data/dashboardDataModel.py +1 -1
- metadata/generated/schema/entity/data/database.py +1 -1
- metadata/generated/schema/entity/data/databaseSchema.py +1 -1
- metadata/generated/schema/entity/data/glossary.py +1 -1
- metadata/generated/schema/entity/data/glossaryTerm.py +1 -1
- metadata/generated/schema/entity/data/metric.py +1 -1
- metadata/generated/schema/entity/data/mlmodel.py +1 -1
- metadata/generated/schema/entity/data/pipeline.py +1 -1
- metadata/generated/schema/entity/data/query.py +1 -1
- metadata/generated/schema/entity/data/queryCostRecord.py +1 -1
- metadata/generated/schema/entity/data/queryCostSearchResult.py +1 -1
- metadata/generated/schema/entity/data/report.py +1 -1
- metadata/generated/schema/entity/data/searchIndex.py +1 -1
- metadata/generated/schema/entity/data/storedProcedure.py +1 -1
- metadata/generated/schema/entity/data/table.py +1 -1
- metadata/generated/schema/entity/data/topic.py +1 -1
- metadata/generated/schema/entity/docStore/__init__.py +1 -1
- metadata/generated/schema/entity/docStore/document.py +1 -1
- metadata/generated/schema/entity/domains/__init__.py +1 -1
- metadata/generated/schema/entity/domains/dataProduct.py +1 -1
- metadata/generated/schema/entity/domains/domain.py +1 -1
- metadata/generated/schema/entity/events/__init__.py +1 -1
- metadata/generated/schema/entity/events/webhook.py +1 -1
- metadata/generated/schema/entity/feed/__init__.py +1 -1
- metadata/generated/schema/entity/feed/assets.py +1 -1
- metadata/generated/schema/entity/feed/customProperty.py +1 -1
- metadata/generated/schema/entity/feed/description.py +1 -1
- metadata/generated/schema/entity/feed/domain.py +1 -1
- metadata/generated/schema/entity/feed/entityInfo.py +1 -1
- metadata/generated/schema/entity/feed/owner.py +1 -1
- metadata/generated/schema/entity/feed/suggestion.py +1 -1
- metadata/generated/schema/entity/feed/tag.py +1 -1
- metadata/generated/schema/entity/feed/testCaseResult.py +1 -1
- metadata/generated/schema/entity/feed/thread.py +1 -1
- metadata/generated/schema/entity/policies/__init__.py +1 -1
- metadata/generated/schema/entity/policies/accessControl/__init__.py +1 -1
- metadata/generated/schema/entity/policies/accessControl/resourceDescriptor.py +1 -1
- metadata/generated/schema/entity/policies/accessControl/resourcePermission.py +1 -1
- metadata/generated/schema/entity/policies/accessControl/rule.py +1 -1
- metadata/generated/schema/entity/policies/filters.py +1 -1
- metadata/generated/schema/entity/policies/policy.py +1 -1
- metadata/generated/schema/entity/services/__init__.py +1 -1
- metadata/generated/schema/entity/services/apiService.py +1 -1
- metadata/generated/schema/entity/services/connections/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/api/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/api/restConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/common/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/common/sslCertPaths.py +1 -1
- metadata/generated/schema/entity/services/connections/common/sslCertValues.py +1 -1
- metadata/generated/schema/entity/services/connections/common/sslConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/connectionBasicType.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/customDashboardConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/domoDashboardConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/lightdashConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/lookerConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/metabaseConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/microStrategyConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/modeConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/powerBIConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/powerBIReportServerConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/powerbi/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/powerbi/azureConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/powerbi/bucketDetails.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/powerbi/gcsConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/powerbi/s3Config.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/qlikCloudConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/qlikSenseConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/quickSightConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/redashConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/sigmaConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/supersetConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/tableauConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/database/athenaConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/azureSQLConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/bigQueryConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/bigTableConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/cassandra/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/database/cassandra/cloudConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/database/cassandraConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/clickhouseConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/cockroachConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/common/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/database/common/azureConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/database/common/basicAuth.py +1 -1
- metadata/generated/schema/entity/services/connections/database/common/iamAuthConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/database/common/jwtAuth.py +1 -1
- metadata/generated/schema/entity/services/connections/database/common/noConfigAuthenticationTypes.py +1 -1
- metadata/generated/schema/entity/services/connections/database/couchbaseConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/customDatabaseConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/databricksConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/datalake/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/database/datalake/azureConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/database/datalake/gcsConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/database/datalake/s3Config.py +1 -1
- metadata/generated/schema/entity/services/connections/database/datalakeConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/db2Connection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/deltaLakeConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/deltalake/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/database/deltalake/metastoreConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/database/deltalake/storageConfig.py +1 -1
- metadata/generated/schema/entity/services/connections/database/domoDatabaseConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/dorisConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/druidConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/dynamoDBConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/exasolConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/glueConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/greenplumConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/hiveConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/iceberg/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/database/iceberg/dynamoDbCatalogConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/iceberg/glueCatalogConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/iceberg/hiveCatalogConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/iceberg/icebergCatalog.py +1 -1
- metadata/generated/schema/entity/services/connections/database/iceberg/icebergFileSystem.py +1 -1
- metadata/generated/schema/entity/services/connections/database/iceberg/restCatalogConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/icebergConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/impalaConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/mariaDBConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/mongoDBConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/oracleConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/pinotDBConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/postgresConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/prestoConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/redshiftConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/salesforceConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/sapErpConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/sapHana/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaHDBConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/sapHana/sapHanaSQLConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/sapHanaConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/sasConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/singleStoreConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/snowflakeConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/sqliteConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/synapseConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/teradataConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/trinoConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/unityCatalogConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/verticaConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/messaging/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/messaging/customMessagingConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/messaging/kafkaConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/messaging/kinesisConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/messaging/pulsarConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/messaging/redpandaConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/messaging/saslMechanismType.py +1 -1
- metadata/generated/schema/entity/services/connections/metadata/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/metadata/alationConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/metadata/alationSinkConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/metadata/amundsenConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/metadata/atlasConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/metadata/metadataESConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/metadata/openMetadataConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/mlmodel/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/mlmodel/customMlModelConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/mlmodel/mlflowConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/mlmodel/sageMakerConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/mlmodel/sklearnConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/mlmodel/vertexaiConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/airbyteConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/airflowConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/backendConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/customPipelineConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/dagsterConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/databricksPipelineConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/datafactoryConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/dbtCloudConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/domoPipelineConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/fivetranConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/flinkConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/gluePipelineConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/kafkaConnectConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/matillion/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/matillion/matillionETL.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/matillionConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/nifi/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/nifi/basicAuth.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/nifi/clientCertificateAuth.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/nifiConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/openLineageConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/sparkConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/splineConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/ssisConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/stitchConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/pipeline/wherescapeConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/search/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/search/customSearchConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/search/elasticSearch/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/search/elasticSearch/apiAuth.py +1 -1
- metadata/generated/schema/entity/services/connections/search/elasticSearch/basicAuth.py +1 -1
- metadata/generated/schema/entity/services/connections/search/elasticSearchConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/search/openSearchConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/serviceConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/storage/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/storage/adlsConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/storage/customStorageConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/storage/gcsConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/storage/s3Connection.py +1 -1
- metadata/generated/schema/entity/services/connections/testConnectionDefinition.py +1 -1
- metadata/generated/schema/entity/services/connections/testConnectionResult.py +1 -1
- metadata/generated/schema/entity/services/dashboardService.py +1 -1
- metadata/generated/schema/entity/services/databaseService.py +1 -1
- metadata/generated/schema/entity/services/ingestionPipelines/__init__.py +1 -1
- metadata/generated/schema/entity/services/ingestionPipelines/ingestionPipeline.py +1 -1
- metadata/generated/schema/entity/services/ingestionPipelines/pipelineServiceClientResponse.py +1 -1
- metadata/generated/schema/entity/services/ingestionPipelines/reverseIngestionResponse.py +1 -1
- metadata/generated/schema/entity/services/ingestionPipelines/status.py +1 -1
- metadata/generated/schema/entity/services/messagingService.py +1 -1
- metadata/generated/schema/entity/services/metadataService.py +1 -1
- metadata/generated/schema/entity/services/mlmodelService.py +1 -1
- metadata/generated/schema/entity/services/pipelineService.py +1 -1
- metadata/generated/schema/entity/services/searchService.py +1 -1
- metadata/generated/schema/entity/services/serviceType.py +1 -1
- metadata/generated/schema/entity/services/storageService.py +1 -1
- metadata/generated/schema/entity/teams/__init__.py +1 -1
- metadata/generated/schema/entity/teams/persona.py +1 -1
- metadata/generated/schema/entity/teams/role.py +1 -1
- metadata/generated/schema/entity/teams/team.py +1 -1
- metadata/generated/schema/entity/teams/teamHierarchy.py +1 -1
- metadata/generated/schema/entity/teams/user.py +1 -1
- metadata/generated/schema/entity/type.py +1 -1
- metadata/generated/schema/entity/utils/__init__.py +1 -1
- metadata/generated/schema/entity/utils/entitiesCount.py +1 -1
- metadata/generated/schema/entity/utils/servicesCount.py +1 -1
- metadata/generated/schema/entity/utils/supersetApiConnection.py +1 -1
- metadata/generated/schema/events/__init__.py +1 -1
- metadata/generated/schema/events/alertMetrics.py +1 -1
- metadata/generated/schema/events/api/__init__.py +1 -1
- metadata/generated/schema/events/api/createEventSubscription.py +1 -1
- metadata/generated/schema/events/api/eventSubscriptionDiagnosticInfo.py +1 -1
- metadata/generated/schema/events/api/eventsRecord.py +1 -1
- metadata/generated/schema/events/api/testEventSubscriptionDestination.py +1 -1
- metadata/generated/schema/events/api/typedEvent.py +1 -1
- metadata/generated/schema/events/emailAlertConfig.py +1 -1
- metadata/generated/schema/events/eventFilterRule.py +1 -1
- metadata/generated/schema/events/eventSubscription.py +1 -1
- metadata/generated/schema/events/eventSubscriptionOffset.py +1 -1
- metadata/generated/schema/events/failedEvent.py +1 -1
- metadata/generated/schema/events/failedEventResponse.py +1 -1
- metadata/generated/schema/events/filterResourceDescriptor.py +1 -1
- metadata/generated/schema/events/statusContext.py +1 -1
- metadata/generated/schema/events/subscriptionResourceDescriptor.py +2 -1
- metadata/generated/schema/events/subscriptionStatus.py +1 -1
- metadata/generated/schema/events/testDestinationStatus.py +1 -1
- metadata/generated/schema/governance/workflows/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/edge.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodeSubType.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodeType.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/checkEntityAttributesTask.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/createAndRunIngestionPipelineTask.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/runAppTask.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setEntityCertificationTask.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/automatedTask/setGlossaryTermStatusTask.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/endEvent/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/endEvent/endEvent.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/gateway/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/gateway/parallelGateway.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/startEvent/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/startEvent/startEvent.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/userTask/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/nodes/userTask/userApprovalTask.py +1 -1
- metadata/generated/schema/governance/workflows/elements/triggers/__init__.py +1 -1
- metadata/generated/schema/governance/workflows/elements/triggers/eventBasedEntityTrigger.py +1 -1
- metadata/generated/schema/governance/workflows/elements/triggers/noOpTrigger.py +1 -1
- metadata/generated/schema/governance/workflows/elements/triggers/periodicBatchEntityTrigger.py +1 -1
- metadata/generated/schema/governance/workflows/workflowDefinition.py +1 -1
- metadata/generated/schema/governance/workflows/workflowInstance.py +1 -1
- metadata/generated/schema/governance/workflows/workflowInstanceState.py +1 -1
- metadata/generated/schema/jobs/__init__.py +1 -1
- metadata/generated/schema/jobs/backgroundJob.py +1 -1
- metadata/generated/schema/jobs/enumCleanupArgs.py +1 -1
- metadata/generated/schema/metadataIngestion/__init__.py +1 -1
- metadata/generated/schema/metadataIngestion/apiServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/application.py +1 -1
- metadata/generated/schema/metadataIngestion/applicationPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/dashboardServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/dataInsightPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/databaseServiceAutoClassificationPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/databaseServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/databaseServiceProfilerPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/databaseServiceQueryLineagePipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/databaseServiceQueryUsagePipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/__init__.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/dbtAzureConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/dbtBucketDetails.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/dbtCloudConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/dbtGCSConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/dbtHttpConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/dbtLocalConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/dbtconfig/dbtS3Config.py +1 -1
- metadata/generated/schema/metadataIngestion/messagingServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/metadataToElasticSearchPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/mlmodelServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/pipelineServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/reverseIngestionPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/reverseingestionconfig/__init__.py +1 -1
- metadata/generated/schema/metadataIngestion/reverseingestionconfig/descriptionConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/reverseingestionconfig/ownerConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/reverseingestionconfig/tagsConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/searchServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/__init__.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/containerMetadataConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/manifestMetadataConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/storageBucketDetails.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/storageMetadataADLSConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/storageMetadataGCSConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/storageMetadataHttpConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/storageMetadataLocalConfig.py +1 -1
- metadata/generated/schema/metadataIngestion/storage/storageMetadataS3Config.py +1 -1
- metadata/generated/schema/metadataIngestion/storageServiceMetadataPipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/testSuitePipeline.py +1 -1
- metadata/generated/schema/metadataIngestion/workflow.py +1 -1
- metadata/generated/schema/monitoring/__init__.py +1 -1
- metadata/generated/schema/monitoring/eventMonitorProvider.py +1 -1
- metadata/generated/schema/search/__init__.py +1 -1
- metadata/generated/schema/search/aggregationRequest.py +1 -1
- metadata/generated/schema/search/searchRequest.py +2 -2
- metadata/generated/schema/security/__init__.py +1 -1
- metadata/generated/schema/security/client/__init__.py +1 -1
- metadata/generated/schema/security/client/auth0SSOClientConfig.py +1 -1
- metadata/generated/schema/security/client/azureSSOClientConfig.py +1 -1
- metadata/generated/schema/security/client/customOidcSSOClientConfig.py +1 -1
- metadata/generated/schema/security/client/googleSSOClientConfig.py +1 -1
- metadata/generated/schema/security/client/oidcClientConfig.py +1 -1
- metadata/generated/schema/security/client/oktaSSOClientConfig.py +1 -1
- metadata/generated/schema/security/client/openMetadataJWTClientConfig.py +1 -1
- metadata/generated/schema/security/client/samlSSOClientConfig.py +1 -1
- metadata/generated/schema/security/credentials/__init__.py +1 -1
- metadata/generated/schema/security/credentials/accessTokenAuth.py +1 -1
- metadata/generated/schema/security/credentials/apiAccessTokenAuth.py +1 -1
- metadata/generated/schema/security/credentials/awsCredentials.py +1 -1
- metadata/generated/schema/security/credentials/azureCredentials.py +1 -1
- metadata/generated/schema/security/credentials/basicAuth.py +1 -1
- metadata/generated/schema/security/credentials/bitbucketCredentials.py +1 -1
- metadata/generated/schema/security/credentials/gcpCredentials.py +1 -1
- metadata/generated/schema/security/credentials/gcpExternalAccount.py +1 -1
- metadata/generated/schema/security/credentials/gcpValues.py +1 -1
- metadata/generated/schema/security/credentials/gitCredentials.py +1 -1
- metadata/generated/schema/security/credentials/githubCredentials.py +1 -1
- metadata/generated/schema/security/credentials/gitlabCredentials.py +1 -1
- metadata/generated/schema/security/sasl/__init__.py +1 -1
- metadata/generated/schema/security/sasl/saslClientConfig.py +1 -1
- metadata/generated/schema/security/secrets/__init__.py +1 -1
- metadata/generated/schema/security/secrets/secretsManagerClientLoader.py +1 -1
- metadata/generated/schema/security/secrets/secretsManagerConfiguration.py +1 -1
- metadata/generated/schema/security/secrets/secretsManagerProvider.py +1 -1
- metadata/generated/schema/security/securityConfiguration.py +1 -1
- metadata/generated/schema/security/ssl/__init__.py +1 -1
- metadata/generated/schema/security/ssl/validateSSLClientConfig.py +1 -1
- metadata/generated/schema/security/ssl/verifySSLConfig.py +1 -1
- metadata/generated/schema/settings/__init__.py +1 -1
- metadata/generated/schema/settings/settings.py +1 -1
- metadata/generated/schema/system/__init__.py +1 -1
- metadata/generated/schema/system/entityError.py +1 -1
- metadata/generated/schema/system/eventPublisherJob.py +1 -1
- metadata/generated/schema/system/indexingError.py +1 -1
- metadata/generated/schema/system/limitsResponse.py +1 -1
- metadata/generated/schema/system/ui/__init__.py +1 -1
- metadata/generated/schema/system/ui/knowledgePanel.py +1 -1
- metadata/generated/schema/system/ui/navigationItem.py +1 -1
- metadata/generated/schema/system/ui/page.py +1 -1
- metadata/generated/schema/system/ui/tab.py +1 -1
- metadata/generated/schema/system/ui/uiCustomization.py +1 -1
- metadata/generated/schema/system/validationResponse.py +1 -1
- metadata/generated/schema/tests/__init__.py +1 -1
- metadata/generated/schema/tests/assigned.py +1 -1
- metadata/generated/schema/tests/basic.py +1 -1
- metadata/generated/schema/tests/customMetric.py +1 -1
- metadata/generated/schema/tests/dataQualityReport.py +1 -1
- metadata/generated/schema/tests/resolved.py +1 -1
- metadata/generated/schema/tests/testCase.py +1 -1
- metadata/generated/schema/tests/testCaseResolutionStatus.py +1 -1
- metadata/generated/schema/tests/testDefinition.py +1 -1
- metadata/generated/schema/tests/testSuite.py +1 -1
- metadata/generated/schema/type/__init__.py +1 -1
- metadata/generated/schema/type/apiSchema.py +1 -1
- metadata/generated/schema/type/assetCertification.py +1 -1
- metadata/generated/schema/type/auditLog.py +1 -1
- metadata/generated/schema/type/basic.py +1 -1
- metadata/generated/schema/type/bulkOperationResult.py +1 -1
- metadata/generated/schema/type/changeEvent.py +1 -1
- metadata/generated/schema/type/changeEventType.py +1 -1
- metadata/generated/schema/type/changeSummaryMap.py +1 -1
- metadata/generated/schema/type/collectionDescriptor.py +1 -1
- metadata/generated/schema/type/csvDocumentation.py +1 -1
- metadata/generated/schema/type/csvErrorType.py +1 -1
- metadata/generated/schema/type/csvFile.py +1 -1
- metadata/generated/schema/type/csvImportResult.py +1 -1
- metadata/generated/schema/type/customProperties/__init__.py +1 -1
- metadata/generated/schema/type/customProperties/complexTypes.py +1 -1
- metadata/generated/schema/type/customProperties/enumConfig.py +1 -1
- metadata/generated/schema/type/customProperties/tableConfig.py +1 -1
- metadata/generated/schema/type/customProperty.py +1 -1
- metadata/generated/schema/type/dailyCount.py +1 -1
- metadata/generated/schema/type/databaseConnectionConfig.py +1 -1
- metadata/generated/schema/type/entityHierarchy.py +1 -1
- metadata/generated/schema/type/entityHistory.py +1 -1
- metadata/generated/schema/type/entityLineage.py +1 -1
- metadata/generated/schema/type/entityReference.py +1 -1
- metadata/generated/schema/type/entityReferenceList.py +1 -1
- metadata/generated/schema/type/entityRelationship.py +1 -1
- metadata/generated/schema/type/entityUsage.py +1 -1
- metadata/generated/schema/type/filterPattern.py +1 -1
- metadata/generated/schema/type/function.py +1 -1
- metadata/generated/schema/type/include.py +1 -1
- metadata/generated/schema/type/jdbcConnection.py +1 -1
- metadata/generated/schema/type/lifeCycle.py +1 -1
- metadata/generated/schema/type/paging.py +1 -1
- metadata/generated/schema/type/profile.py +1 -1
- metadata/generated/schema/type/queryParserData.py +1 -1
- metadata/generated/schema/type/reaction.py +1 -1
- metadata/generated/schema/type/schedule.py +1 -1
- metadata/generated/schema/type/schema.py +1 -1
- metadata/generated/schema/type/tableQuery.py +1 -1
- metadata/generated/schema/type/tableUsageCount.py +1 -1
- metadata/generated/schema/type/tagLabel.py +1 -1
- metadata/generated/schema/type/usageDetails.py +1 -1
- metadata/generated/schema/type/usageRequest.py +1 -1
- metadata/generated/schema/type/votes.py +1 -1
- metadata/ingestion/models/custom_basemodel_validation.py +1 -1
- metadata/ingestion/source/dashboard/dashboard_service.py +24 -3
- metadata/ingestion/source/dashboard/powerbi/metadata.py +235 -57
- metadata/ingestion/source/dashboard/powerbi/models.py +13 -0
- metadata/ingestion/source/dashboard/tableau/client.py +53 -1
- metadata/ingestion/source/dashboard/tableau/metadata.py +24 -0
- metadata/ingestion/source/dashboard/tableau/models.py +4 -14
- metadata/ingestion/source/database/bigquery/profiler/system.py +1 -1
- metadata/ingestion/source/database/unitycatalog/lineage.py +41 -8
- metadata/ingestion/source/database/unitycatalog/models.py +1 -1
- metadata/profiler/interface/sqlalchemy/profiler_interface.py +1 -0
- {openmetadata_ingestion-1.7.3.0.dist-info → openmetadata_ingestion-1.7.4.1.dist-info}/METADATA +534 -435
- {openmetadata_ingestion-1.7.3.0.dist-info → openmetadata_ingestion-1.7.4.1.dist-info}/RECORD +709 -709
- {openmetadata_ingestion-1.7.3.0.dist-info → openmetadata_ingestion-1.7.4.1.dist-info}/LICENSE +0 -0
- {openmetadata_ingestion-1.7.3.0.dist-info → openmetadata_ingestion-1.7.4.1.dist-info}/WHEEL +0 -0
- {openmetadata_ingestion-1.7.3.0.dist-info → openmetadata_ingestion-1.7.4.1.dist-info}/entry_points.txt +0 -0
- {openmetadata_ingestion-1.7.3.0.dist-info → openmetadata_ingestion-1.7.4.1.dist-info}/top_level.txt +0 -0
|
@@ -54,7 +54,6 @@ from metadata.generated.schema.type.basic import (
|
|
|
54
54
|
from metadata.generated.schema.type.entityReferenceList import EntityReferenceList
|
|
55
55
|
from metadata.ingestion.api.models import Either
|
|
56
56
|
from metadata.ingestion.api.steps import InvalidSourceException
|
|
57
|
-
from metadata.ingestion.models.ometa_lineage import OMetaLineageRequest
|
|
58
57
|
from metadata.ingestion.ometa.ometa_api import OpenMetadata
|
|
59
58
|
from metadata.ingestion.ometa.utils import model_str
|
|
60
59
|
from metadata.ingestion.source.dashboard.dashboard_service import DashboardServiceSource
|
|
@@ -240,6 +239,7 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
240
239
|
self.workspace_data.append(workspace)
|
|
241
240
|
self.context.get().workspace = workspace
|
|
242
241
|
self.filtered_dashboards = []
|
|
242
|
+
self.filtered_datamodels = []
|
|
243
243
|
for dashboard in self.get_dashboards_list() or []:
|
|
244
244
|
dashboard_details = self.get_dashboard_details(dashboard)
|
|
245
245
|
dashboard_name = self.get_dashboard_name(dashboard_details)
|
|
@@ -532,6 +532,7 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
532
532
|
):
|
|
533
533
|
self.status.filter(dataset.name, "Data model filtered out.")
|
|
534
534
|
continue
|
|
535
|
+
self.filtered_datamodels.append(dataset)
|
|
535
536
|
if isinstance(dataset, Dataset):
|
|
536
537
|
data_model_type = DataModelType.PowerBIDataModel.value
|
|
537
538
|
datamodel_columns = self._get_column_info(dataset)
|
|
@@ -606,7 +607,7 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
606
607
|
except Exception as exc: # pylint: disable=broad-except
|
|
607
608
|
yield Either(
|
|
608
609
|
left=StackTraceError(
|
|
609
|
-
name="Lineage",
|
|
610
|
+
name="Report and Dashboard Lineage",
|
|
610
611
|
error=f"Error to yield report and dashboard lineage details: {exc}",
|
|
611
612
|
stackTrace=traceback.format_exc(),
|
|
612
613
|
)
|
|
@@ -614,7 +615,6 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
614
615
|
|
|
615
616
|
def create_datamodel_report_lineage(
|
|
616
617
|
self,
|
|
617
|
-
db_service_name: Optional[str],
|
|
618
618
|
dashboard_details: PowerBIReport,
|
|
619
619
|
) -> Iterable[Either[CreateDashboardRequest]]:
|
|
620
620
|
"""
|
|
@@ -631,45 +631,28 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
631
631
|
entity=Dashboard,
|
|
632
632
|
fqn=report_fqn,
|
|
633
633
|
)
|
|
634
|
+
datamodel_fqn = fqn.build(
|
|
635
|
+
self.metadata,
|
|
636
|
+
entity_type=DashboardDataModel,
|
|
637
|
+
service_name=self.context.get().dashboard_service,
|
|
638
|
+
data_model_name=dashboard_details.datasetId,
|
|
639
|
+
)
|
|
640
|
+
datamodel_entity = self.metadata.get_by_name(
|
|
641
|
+
entity=DashboardDataModel,
|
|
642
|
+
fqn=datamodel_fqn,
|
|
643
|
+
)
|
|
634
644
|
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
self.metadata,
|
|
639
|
-
entity_type=DashboardDataModel,
|
|
640
|
-
service_name=self.context.get().dashboard_service,
|
|
641
|
-
data_model_name=dataset.id,
|
|
645
|
+
if datamodel_entity and report_entity:
|
|
646
|
+
yield self._get_add_lineage_request(
|
|
647
|
+
to_entity=report_entity, from_entity=datamodel_entity
|
|
642
648
|
)
|
|
643
|
-
datamodel_entity = self.metadata.get_by_name(
|
|
644
|
-
entity=DashboardDataModel,
|
|
645
|
-
fqn=datamodel_fqn,
|
|
646
|
-
)
|
|
647
|
-
|
|
648
|
-
if datamodel_entity and report_entity:
|
|
649
|
-
yield self._get_add_lineage_request(
|
|
650
|
-
to_entity=report_entity, from_entity=datamodel_entity
|
|
651
|
-
)
|
|
652
|
-
|
|
653
|
-
for table in dataset.tables or []:
|
|
654
|
-
yield self._get_table_and_datamodel_lineage(
|
|
655
|
-
db_service_name=db_service_name,
|
|
656
|
-
table=table,
|
|
657
|
-
datamodel_entity=datamodel_entity,
|
|
658
|
-
)
|
|
659
649
|
|
|
660
|
-
# create the lineage between table and datamodel using the pbit files
|
|
661
|
-
if self.client.file_client:
|
|
662
|
-
yield from self.create_table_datamodel_lineage_from_files(
|
|
663
|
-
db_service_name=db_service_name,
|
|
664
|
-
datamodel_entity=datamodel_entity,
|
|
665
|
-
)
|
|
666
650
|
except Exception as exc: # pylint: disable=broad-except
|
|
667
651
|
yield Either(
|
|
668
652
|
left=StackTraceError(
|
|
669
|
-
name=f"
|
|
653
|
+
name=f"Datamodel and Report Lineage",
|
|
670
654
|
error=(
|
|
671
|
-
"Error to yield datamodel and report lineage details
|
|
672
|
-
f"service name [{db_service_name}]: {exc}"
|
|
655
|
+
f"Error to yield datamodel and report lineage details: {exc}"
|
|
673
656
|
),
|
|
674
657
|
stackTrace=traceback.format_exc(),
|
|
675
658
|
)
|
|
@@ -816,7 +799,7 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
816
799
|
db_service_name: Optional[str],
|
|
817
800
|
table: PowerBiTable,
|
|
818
801
|
datamodel_entity: DashboardDataModel,
|
|
819
|
-
) ->
|
|
802
|
+
) -> Iterable[Either[AddLineageRequest]]:
|
|
820
803
|
"""
|
|
821
804
|
Method to create lineage between table and datamodels
|
|
822
805
|
"""
|
|
@@ -837,13 +820,13 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
837
820
|
column_lineage = self._get_column_lineage(
|
|
838
821
|
table_entity, datamodel_entity, columns_list
|
|
839
822
|
)
|
|
840
|
-
|
|
823
|
+
yield self._get_add_lineage_request(
|
|
841
824
|
to_entity=datamodel_entity,
|
|
842
825
|
from_entity=table_entity,
|
|
843
826
|
column_lineage=column_lineage,
|
|
844
827
|
)
|
|
845
828
|
except Exception as exc: # pylint: disable=broad-except
|
|
846
|
-
|
|
829
|
+
yield Either(
|
|
847
830
|
left=StackTraceError(
|
|
848
831
|
name="DataModel Lineage for pbit files",
|
|
849
832
|
error=(
|
|
@@ -853,7 +836,6 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
853
836
|
stackTrace=traceback.format_exc(),
|
|
854
837
|
)
|
|
855
838
|
)
|
|
856
|
-
return None
|
|
857
839
|
|
|
858
840
|
def create_table_datamodel_lineage_from_files(
|
|
859
841
|
self,
|
|
@@ -882,7 +864,7 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
882
864
|
|
|
883
865
|
for datamodel_schema_file in datamodel_file_list:
|
|
884
866
|
for table in datamodel_schema_file.tables or []:
|
|
885
|
-
yield self._get_table_and_datamodel_lineage(
|
|
867
|
+
yield from self._get_table_and_datamodel_lineage(
|
|
886
868
|
db_service_name=db_service_name,
|
|
887
869
|
table=table,
|
|
888
870
|
datamodel_entity=datamodel_entity,
|
|
@@ -893,12 +875,153 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
893
875
|
name="DataModel Lineage",
|
|
894
876
|
error=(
|
|
895
877
|
"Error to yield datamodel lineage details for DB "
|
|
896
|
-
f"service name [{db_service_name}]: {exc}"
|
|
878
|
+
f"service name [{str(db_service_name)}]: {exc}"
|
|
897
879
|
),
|
|
898
880
|
stackTrace=traceback.format_exc(),
|
|
899
881
|
)
|
|
900
882
|
)
|
|
901
883
|
|
|
884
|
+
def create_dataset_upstream_dataflow_lineage(
|
|
885
|
+
self, datamodel: Dataset, datamodel_entity: DashboardDataModel
|
|
886
|
+
) -> Iterable[Either[AddLineageRequest]]:
|
|
887
|
+
"""
|
|
888
|
+
Create lineage between dataset and upstreamDataflow
|
|
889
|
+
"""
|
|
890
|
+
for upstream_dataflow in datamodel.upstreamDataflows or []:
|
|
891
|
+
try:
|
|
892
|
+
if not upstream_dataflow.targetDataflowId:
|
|
893
|
+
logger.debug(
|
|
894
|
+
f"No targetDataflowId found for upstreamDataflow in "
|
|
895
|
+
f"datamodel [{datamodel_entity.name.root}], "
|
|
896
|
+
f"Moving to next upstreamDataflow"
|
|
897
|
+
)
|
|
898
|
+
continue
|
|
899
|
+
upstream_dataflow_fqn = fqn.build(
|
|
900
|
+
self.metadata,
|
|
901
|
+
entity_type=DashboardDataModel,
|
|
902
|
+
service_name=self.context.get().dashboard_service,
|
|
903
|
+
data_model_name=upstream_dataflow.targetDataflowId,
|
|
904
|
+
)
|
|
905
|
+
upstream_dataflow_entity = self.metadata.get_by_name(
|
|
906
|
+
entity=DashboardDataModel,
|
|
907
|
+
fqn=upstream_dataflow_fqn,
|
|
908
|
+
)
|
|
909
|
+
if upstream_dataflow_entity and datamodel_entity:
|
|
910
|
+
yield self._get_add_lineage_request(
|
|
911
|
+
from_entity=upstream_dataflow_entity,
|
|
912
|
+
to_entity=datamodel_entity,
|
|
913
|
+
)
|
|
914
|
+
else:
|
|
915
|
+
logger.debug(
|
|
916
|
+
f"No upstreamDataflow entity with id={str(upstream_dataflow.targetDataflowId)} "
|
|
917
|
+
f"found for datamodel [{datamodel_entity.name.root}]"
|
|
918
|
+
)
|
|
919
|
+
except Exception as exc: # pylint: disable=broad-except
|
|
920
|
+
yield Either(
|
|
921
|
+
left=StackTraceError(
|
|
922
|
+
name="Dataset and UpstreamDataflow Lineage",
|
|
923
|
+
error=(
|
|
924
|
+
"Error to yield dataset and upstreamDataflow lineage "
|
|
925
|
+
f"between [{datamodel_entity.name.root}, {str(upstream_dataflow.targetDataflowId)}]: {exc}"
|
|
926
|
+
),
|
|
927
|
+
stackTrace=traceback.format_exc(),
|
|
928
|
+
)
|
|
929
|
+
)
|
|
930
|
+
|
|
931
|
+
def create_dataset_upstream_dataset_lineage(
|
|
932
|
+
self, datamodel: Dataset, datamodel_entity: DashboardDataModel
|
|
933
|
+
) -> Iterable[Either[AddLineageRequest]]:
|
|
934
|
+
"""
|
|
935
|
+
Create lineage between dataset and upstreamDataset
|
|
936
|
+
"""
|
|
937
|
+
for upstream_dataset in datamodel.upstreamDatasets or []:
|
|
938
|
+
try:
|
|
939
|
+
if not upstream_dataset.targetDatasetId:
|
|
940
|
+
logger.debug(
|
|
941
|
+
f"No targetDatasetId found for upstreamDataset in "
|
|
942
|
+
f"datamodel [{datamodel_entity.name.root}], "
|
|
943
|
+
f"Moving to next upstreamDataset"
|
|
944
|
+
)
|
|
945
|
+
continue
|
|
946
|
+
upstream_dataset_fqn = fqn.build(
|
|
947
|
+
self.metadata,
|
|
948
|
+
entity_type=DashboardDataModel,
|
|
949
|
+
service_name=self.context.get().dashboard_service,
|
|
950
|
+
data_model_name=upstream_dataset.targetDatasetId,
|
|
951
|
+
)
|
|
952
|
+
upstream_dataset_entity = self.metadata.get_by_name(
|
|
953
|
+
entity=DashboardDataModel,
|
|
954
|
+
fqn=upstream_dataset_fqn,
|
|
955
|
+
)
|
|
956
|
+
if upstream_dataset_entity and datamodel_entity:
|
|
957
|
+
yield self._get_add_lineage_request(
|
|
958
|
+
from_entity=upstream_dataset_entity,
|
|
959
|
+
to_entity=datamodel_entity,
|
|
960
|
+
)
|
|
961
|
+
else:
|
|
962
|
+
logger.debug(
|
|
963
|
+
f"No upstreamDataset entity with id={str(upstream_dataset.targetDatasetId)} "
|
|
964
|
+
f"found for datamodel [{datamodel_entity.name.root}]"
|
|
965
|
+
)
|
|
966
|
+
except Exception as exc: # pylint: disable=broad-except
|
|
967
|
+
yield Either(
|
|
968
|
+
left=StackTraceError(
|
|
969
|
+
name="Dataset and UpstreamDataset Lineage",
|
|
970
|
+
error=(
|
|
971
|
+
"Error to yield dataset and upstreamDataset lineage "
|
|
972
|
+
f"between [{datamodel_entity.name.root}, {str(upstream_dataset.targetDatasetId)}]: {exc}"
|
|
973
|
+
),
|
|
974
|
+
stackTrace=traceback.format_exc(),
|
|
975
|
+
)
|
|
976
|
+
)
|
|
977
|
+
|
|
978
|
+
def create_dataflow_upstream_dataflow_lineage(
|
|
979
|
+
self, datamodel: Dataflow, datamodel_entity: DashboardDataModel
|
|
980
|
+
) -> Iterable[Either[AddLineageRequest]]:
|
|
981
|
+
"""
|
|
982
|
+
Create lineage between dataflow and upstreamDataflow
|
|
983
|
+
"""
|
|
984
|
+
for upstream_dataflow in datamodel.upstreamDataflows or []:
|
|
985
|
+
try:
|
|
986
|
+
if not upstream_dataflow.targetDataflowId:
|
|
987
|
+
logger.debug(
|
|
988
|
+
f"No targetDataflowId found for upstreamDataflow in "
|
|
989
|
+
f"datamodel [{datamodel_entity.name.root}], "
|
|
990
|
+
f"Moving to next upstreamDataflow"
|
|
991
|
+
)
|
|
992
|
+
continue
|
|
993
|
+
upstream_dataflow_fqn = fqn.build(
|
|
994
|
+
self.metadata,
|
|
995
|
+
entity_type=DashboardDataModel,
|
|
996
|
+
service_name=self.context.get().dashboard_service,
|
|
997
|
+
data_model_name=upstream_dataflow.targetDataflowId,
|
|
998
|
+
)
|
|
999
|
+
upstream_dataflow_entity = self.metadata.get_by_name(
|
|
1000
|
+
entity=DashboardDataModel,
|
|
1001
|
+
fqn=upstream_dataflow_fqn,
|
|
1002
|
+
)
|
|
1003
|
+
if upstream_dataflow_entity and datamodel_entity:
|
|
1004
|
+
yield self._get_add_lineage_request(
|
|
1005
|
+
from_entity=upstream_dataflow_entity,
|
|
1006
|
+
to_entity=datamodel_entity,
|
|
1007
|
+
)
|
|
1008
|
+
else:
|
|
1009
|
+
logger.debug(
|
|
1010
|
+
f"No upstreamDataflow entity with id={str(upstream_dataflow.targetDataflowId)} "
|
|
1011
|
+
f"found for datamodel [{datamodel_entity.name.root}]"
|
|
1012
|
+
)
|
|
1013
|
+
except Exception as exc: # pylint: disable=broad-except
|
|
1014
|
+
yield Either(
|
|
1015
|
+
left=StackTraceError(
|
|
1016
|
+
name="Dataflow and UpstreamDataflow Lineage",
|
|
1017
|
+
error=(
|
|
1018
|
+
f"Error to yield dataflow and upstreamDataflow lineage "
|
|
1019
|
+
f"between [{datamodel_entity.name.root}, {str(upstream_dataflow.targetDataflowId)}]: {exc}"
|
|
1020
|
+
),
|
|
1021
|
+
stackTrace=traceback.format_exc(),
|
|
1022
|
+
)
|
|
1023
|
+
)
|
|
1024
|
+
|
|
902
1025
|
def yield_dashboard_lineage_details(
|
|
903
1026
|
self,
|
|
904
1027
|
dashboard_details: Group,
|
|
@@ -913,7 +1036,6 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
913
1036
|
try:
|
|
914
1037
|
if isinstance(dashboard_details, PowerBIReport):
|
|
915
1038
|
yield from self.create_datamodel_report_lineage(
|
|
916
|
-
db_service_name=db_service_name,
|
|
917
1039
|
dashboard_details=dashboard_details,
|
|
918
1040
|
)
|
|
919
1041
|
if isinstance(dashboard_details, PowerBIDashboard):
|
|
@@ -924,27 +1046,83 @@ class PowerbiSource(DashboardServiceSource):
|
|
|
924
1046
|
yield Either(
|
|
925
1047
|
left=StackTraceError(
|
|
926
1048
|
name="Dashboard Lineage",
|
|
927
|
-
error=f"Error to yield dashboard lineage details for DB service name [{db_service_name}]: {exc}",
|
|
1049
|
+
error=f"Error to yield dashboard lineage details for DB service name [{str(db_service_name)}]: {exc}",
|
|
928
1050
|
stackTrace=traceback.format_exc(),
|
|
929
1051
|
)
|
|
930
1052
|
)
|
|
931
|
-
|
|
932
|
-
def yield_dashboard_lineage(
|
|
933
|
-
self, dashboard_details: Group
|
|
934
|
-
) -> Iterable[Either[OMetaLineageRequest]]:
|
|
935
1053
|
"""
|
|
936
|
-
|
|
1054
|
+
Iterate loop for filtered datamodels so datamodels which are not connected to
|
|
1055
|
+
any report but have tables would be eligible for a dataset-db_table lineage.
|
|
1056
|
+
Also create below lineages:
|
|
1057
|
+
1. dataset-db_table
|
|
1058
|
+
2. dataset-upstreamDataflow
|
|
1059
|
+
3. dataset-upstreamDataset
|
|
1060
|
+
4. dataflow-upstreamDataflow
|
|
1061
|
+
"""
|
|
1062
|
+
for datamodel in self.filtered_datamodels or []:
|
|
1063
|
+
try:
|
|
1064
|
+
datamodel_fqn = fqn.build(
|
|
1065
|
+
self.metadata,
|
|
1066
|
+
entity_type=DashboardDataModel,
|
|
1067
|
+
service_name=self.context.get().dashboard_service,
|
|
1068
|
+
data_model_name=datamodel.id,
|
|
1069
|
+
)
|
|
1070
|
+
datamodel_entity = self.metadata.get_by_name(
|
|
1071
|
+
entity=DashboardDataModel,
|
|
1072
|
+
fqn=datamodel_fqn,
|
|
1073
|
+
)
|
|
1074
|
+
if datamodel_entity:
|
|
1075
|
+
if isinstance(datamodel, Dataset):
|
|
1076
|
+
# 1. datamodel-db_table lineage
|
|
1077
|
+
for table in datamodel.tables or []:
|
|
1078
|
+
yield from self._get_table_and_datamodel_lineage(
|
|
1079
|
+
db_service_name=db_service_name,
|
|
1080
|
+
table=table,
|
|
1081
|
+
datamodel_entity=datamodel_entity,
|
|
1082
|
+
)
|
|
1083
|
+
# 2. dataset-upstreamDataflow lineage
|
|
1084
|
+
yield from self.create_dataset_upstream_dataflow_lineage(
|
|
1085
|
+
datamodel, datamodel_entity
|
|
1086
|
+
)
|
|
1087
|
+
# 3. dataset-upstreamDataset lineage
|
|
1088
|
+
yield from self.create_dataset_upstream_dataset_lineage(
|
|
1089
|
+
datamodel, datamodel_entity
|
|
1090
|
+
)
|
|
1091
|
+
# create the lineage between table and datamodel using the pbit files
|
|
1092
|
+
if self.client.file_client:
|
|
1093
|
+
yield from self.create_table_datamodel_lineage_from_files(
|
|
1094
|
+
db_service_name=db_service_name,
|
|
1095
|
+
datamodel_entity=datamodel_entity,
|
|
1096
|
+
)
|
|
1097
|
+
elif isinstance(datamodel, Dataflow):
|
|
1098
|
+
# create dataflow-upstreamDataflow lineage
|
|
1099
|
+
yield from self.create_dataflow_upstream_dataflow_lineage(
|
|
1100
|
+
datamodel, datamodel_entity
|
|
1101
|
+
)
|
|
1102
|
+
else:
|
|
1103
|
+
logger.warning(
|
|
1104
|
+
f"Unknown datamodel type: {type(datamodel)}, name: {datamodel.name}"
|
|
1105
|
+
)
|
|
1106
|
+
except Exception as exc: # pylint: disable=broad-except
|
|
1107
|
+
yield Either(
|
|
1108
|
+
left=StackTraceError(
|
|
1109
|
+
name="Datamodel Lineage",
|
|
1110
|
+
error=f"Error to yield datamodel lineage details for DB service name [{str(db_service_name)}]: {exc}",
|
|
1111
|
+
stackTrace=traceback.format_exc(),
|
|
1112
|
+
)
|
|
1113
|
+
)
|
|
937
1114
|
|
|
938
|
-
|
|
939
|
-
|
|
1115
|
+
def yield_datamodel_dashboard_lineage(
|
|
1116
|
+
self,
|
|
1117
|
+
) -> Iterable[Either[AddLineageRequest]]:
|
|
1118
|
+
"""
|
|
1119
|
+
Returns:
|
|
1120
|
+
Lineage request between Data Models and Dashboards
|
|
1121
|
+
"""
|
|
1122
|
+
"""
|
|
1123
|
+
We're implementing this differently inside `yield_dashboard_lineage_details`
|
|
1124
|
+
since we have report and dashboard both as dashboard.
|
|
940
1125
|
"""
|
|
941
|
-
db_service_names = self.get_db_service_names()
|
|
942
|
-
if not db_service_names:
|
|
943
|
-
yield from self.yield_dashboard_lineage_details(dashboard_details) or []
|
|
944
|
-
for db_service_name in db_service_names or []:
|
|
945
|
-
yield from self.yield_dashboard_lineage_details(
|
|
946
|
-
dashboard_details, db_service_name
|
|
947
|
-
) or []
|
|
948
1126
|
|
|
949
1127
|
def _fetch_dataset_from_workspace(
|
|
950
1128
|
self, dataset_id: Optional[str]
|
|
@@ -174,6 +174,16 @@ class DatasetExpression(BaseModel):
|
|
|
174
174
|
expression: Optional[str] = None
|
|
175
175
|
|
|
176
176
|
|
|
177
|
+
class UpstreaDataflow(BaseModel):
|
|
178
|
+
groupId: Optional[str] = None
|
|
179
|
+
targetDataflowId: Optional[str] = None
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class UpstreaDataset(BaseModel):
|
|
183
|
+
groupId: Optional[str] = None
|
|
184
|
+
targetDatasetId: Optional[str] = None
|
|
185
|
+
|
|
186
|
+
|
|
177
187
|
class Dataset(BaseModel):
|
|
178
188
|
"""
|
|
179
189
|
PowerBI Dataset Model
|
|
@@ -187,6 +197,8 @@ class Dataset(BaseModel):
|
|
|
187
197
|
users: Optional[List[PowerBIUser]] = []
|
|
188
198
|
expressions: Optional[List[DatasetExpression]] = []
|
|
189
199
|
configuredBy: Optional[str] = None
|
|
200
|
+
upstreamDataflows: Optional[List[UpstreaDataflow]] = []
|
|
201
|
+
upstreamDatasets: Optional[List[UpstreaDataset]] = []
|
|
190
202
|
|
|
191
203
|
|
|
192
204
|
class DatasetResponse(BaseModel):
|
|
@@ -205,6 +217,7 @@ class Dataflow(BaseModel):
|
|
|
205
217
|
description: Optional[str] = None
|
|
206
218
|
users: Optional[List[PowerBIUser]] = []
|
|
207
219
|
modifiedBy: Optional[str] = None
|
|
220
|
+
upstreamDataflows: Optional[List[UpstreaDataflow]] = []
|
|
208
221
|
|
|
209
222
|
|
|
210
223
|
class Group(BaseModel):
|
|
@@ -20,6 +20,7 @@ from cached_property import cached_property
|
|
|
20
20
|
from tableauserverclient import (
|
|
21
21
|
Pager,
|
|
22
22
|
PersonalAccessTokenAuth,
|
|
23
|
+
ProjectItem,
|
|
23
24
|
Server,
|
|
24
25
|
TableauAuth,
|
|
25
26
|
ViewItem,
|
|
@@ -89,6 +90,7 @@ class TableauClient:
|
|
|
89
90
|
self.pagination_limit = pagination_limit
|
|
90
91
|
self.custom_sql_table_queries: Dict[str, List[str]] = {}
|
|
91
92
|
self.owner_cache: Dict[str, TableauOwner] = {}
|
|
93
|
+
self.all_projects: List[ProjectItem] = []
|
|
92
94
|
|
|
93
95
|
@cached_property
|
|
94
96
|
def server_info(self) -> Callable:
|
|
@@ -148,10 +150,60 @@ class TableauClient:
|
|
|
148
150
|
|
|
149
151
|
return charts, view_count
|
|
150
152
|
|
|
153
|
+
def get_all_projects(self) -> None:
|
|
154
|
+
"""
|
|
155
|
+
Get all projects from the tableau server
|
|
156
|
+
"""
|
|
157
|
+
try:
|
|
158
|
+
logger.debug("Getting all projects from the tableau server")
|
|
159
|
+
all_projects: List[ProjectItem] = []
|
|
160
|
+
for project in Pager(self.tableau_server.projects):
|
|
161
|
+
all_projects.append(project)
|
|
162
|
+
self.all_projects = all_projects
|
|
163
|
+
except Exception as e:
|
|
164
|
+
logger.debug(f"Failed to get all projects: {str(e)}")
|
|
165
|
+
|
|
166
|
+
def get_project_parents_by_id(self, project_id: str) -> Optional[str]:
|
|
167
|
+
"""
|
|
168
|
+
Get the parents of a project by id
|
|
169
|
+
"""
|
|
170
|
+
try:
|
|
171
|
+
parent_projects = []
|
|
172
|
+
current_project_id = project_id
|
|
173
|
+
|
|
174
|
+
while current_project_id:
|
|
175
|
+
# Find project with current ID
|
|
176
|
+
project = next(
|
|
177
|
+
(
|
|
178
|
+
proj
|
|
179
|
+
for proj in self.all_projects
|
|
180
|
+
if str(proj.id) == str(current_project_id)
|
|
181
|
+
),
|
|
182
|
+
None,
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
if not project:
|
|
186
|
+
break
|
|
187
|
+
|
|
188
|
+
parent_projects.append(project.name)
|
|
189
|
+
|
|
190
|
+
# Get parent ID and continue loop if exists
|
|
191
|
+
current_project_id = (
|
|
192
|
+
project.parent_id if hasattr(project, "parent_id") else None
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
if parent_projects:
|
|
196
|
+
parent_projects = ".".join(reversed(parent_projects))
|
|
197
|
+
return parent_projects
|
|
198
|
+
except Exception as e:
|
|
199
|
+
logger.debug(f"Failed to get project parents by id: {str(e)}")
|
|
200
|
+
return None
|
|
201
|
+
|
|
151
202
|
def get_workbooks(self) -> Iterable[TableauDashboard]:
|
|
152
203
|
"""
|
|
153
204
|
Fetch all tableau workbooks
|
|
154
205
|
"""
|
|
206
|
+
self.get_all_projects()
|
|
155
207
|
self.cache_custom_sql_tables()
|
|
156
208
|
for workbook in Pager(self.tableau_server.workbooks):
|
|
157
209
|
try:
|
|
@@ -322,7 +374,7 @@ class TableauClient:
|
|
|
322
374
|
if datasource_id in self.custom_sql_table_queries:
|
|
323
375
|
logger.debug(f"Found cached queries for datasource {datasource_id}")
|
|
324
376
|
return self.custom_sql_table_queries[datasource_id]
|
|
325
|
-
|
|
377
|
+
logger.debug(f"No cached queries for datasource {datasource_id}")
|
|
326
378
|
return None
|
|
327
379
|
|
|
328
380
|
def cache_custom_sql_tables(self) -> None:
|
|
@@ -641,6 +641,10 @@ class TableauSource(DashboardServiceSource):
|
|
|
641
641
|
fqn_search_string=fqn_search_string,
|
|
642
642
|
fetch_multiple_entities=True,
|
|
643
643
|
)
|
|
644
|
+
if not from_entities:
|
|
645
|
+
logger.debug(
|
|
646
|
+
f"No table entities found for custom SQL lineage. fqn_search_string={fqn_search_string}, table_name={table_name}, query={query}"
|
|
647
|
+
)
|
|
644
648
|
for table_entity in from_entities:
|
|
645
649
|
yield self._get_add_lineage_request(
|
|
646
650
|
to_entity=upstream_data_model_entity,
|
|
@@ -811,6 +815,9 @@ class TableauSource(DashboardServiceSource):
|
|
|
811
815
|
)
|
|
812
816
|
if table_entity:
|
|
813
817
|
return [TableAndQuery(table=table_entity)]
|
|
818
|
+
logger.debug(
|
|
819
|
+
f"No table entity found for lineage using GraphQL APIs. fqn_search_string={fqn_search_string}, table_name={table_name}"
|
|
820
|
+
)
|
|
814
821
|
except Exception as exc:
|
|
815
822
|
logger.debug(traceback.format_exc())
|
|
816
823
|
logger.warning(f"Error to get tables for lineage using GraphQL Apis: {exc}")
|
|
@@ -864,6 +871,10 @@ class TableauSource(DashboardServiceSource):
|
|
|
864
871
|
fqn_search_string=fqn_search_string,
|
|
865
872
|
fetch_multiple_entities=True,
|
|
866
873
|
)
|
|
874
|
+
if not from_entities:
|
|
875
|
+
logger.debug(
|
|
876
|
+
f"No table entities found for lineage using SQL Queries. fqn_search_string={fqn_search_string}, table_name={table_name}, query={custom_sql_table.query}"
|
|
877
|
+
)
|
|
867
878
|
tables_list.extend(
|
|
868
879
|
[
|
|
869
880
|
TableAndQuery(table=table, query=custom_sql_table.query)
|
|
@@ -980,6 +991,19 @@ class TableauSource(DashboardServiceSource):
|
|
|
980
991
|
)
|
|
981
992
|
return None
|
|
982
993
|
|
|
994
|
+
def get_project_names(self, dashboard_details: Any) -> Optional[str]:
|
|
995
|
+
"""
|
|
996
|
+
Get the project / workspace / folder / collection names of the dashboard
|
|
997
|
+
"""
|
|
998
|
+
try:
|
|
999
|
+
return self.client.get_project_parents_by_id(dashboard_details.project.id)
|
|
1000
|
+
except Exception as exc:
|
|
1001
|
+
logger.debug(traceback.format_exc())
|
|
1002
|
+
logger.warning(
|
|
1003
|
+
f"Error fetching project names for {dashboard_details.id}: {exc}"
|
|
1004
|
+
)
|
|
1005
|
+
return None
|
|
1006
|
+
|
|
983
1007
|
def yield_dashboard_usage(
|
|
984
1008
|
self, dashboard_details: TableauDashboard
|
|
985
1009
|
) -> Iterable[Either[DashboardUsage]]:
|
|
@@ -13,10 +13,9 @@
|
|
|
13
13
|
Tableau Source Model module
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
|
-
import uuid
|
|
17
16
|
from typing import Dict, List, Optional, Set, Union
|
|
18
17
|
|
|
19
|
-
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
18
|
+
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
20
19
|
|
|
21
20
|
from metadata.generated.schema.entity.data.chart import ChartType
|
|
22
21
|
from metadata.generated.schema.entity.data.table import Table
|
|
@@ -29,18 +28,9 @@ class TableauBaseModel(BaseModel):
|
|
|
29
28
|
|
|
30
29
|
model_config = ConfigDict(extra="allow")
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
id: Union[str, uuid.UUID]
|
|
31
|
+
id: str
|
|
34
32
|
name: Optional[str] = None
|
|
35
33
|
|
|
36
|
-
# pylint: disable=no-self-argument
|
|
37
|
-
@field_validator("id", mode="before")
|
|
38
|
-
def coerce_uuid_to_string(cls, value):
|
|
39
|
-
"""Ensure id is always stored as a string internally"""
|
|
40
|
-
if isinstance(value, uuid.UUID):
|
|
41
|
-
return str(value)
|
|
42
|
-
return value
|
|
43
|
-
|
|
44
34
|
def __hash__(self):
|
|
45
35
|
return hash(self.id)
|
|
46
36
|
|
|
@@ -145,7 +135,7 @@ class UpstreamTable(BaseModel):
|
|
|
145
135
|
database: Optional[TableauDatabase] = None
|
|
146
136
|
referencedByQueries: Optional[List[CustomSQLTable]] = None
|
|
147
137
|
|
|
148
|
-
@
|
|
138
|
+
@field_validator("referencedByQueries", mode="before")
|
|
149
139
|
@classmethod
|
|
150
140
|
def filter_none_queries(cls, v):
|
|
151
141
|
"""Filter out CustomSQLTable items where query==None."""
|
|
@@ -197,7 +187,7 @@ class TableauDashboard(TableauBaseModel):
|
|
|
197
187
|
tags: Optional[Set] = []
|
|
198
188
|
webpageUrl: Optional[str] = None
|
|
199
189
|
charts: Optional[List[TableauChart]] = None
|
|
200
|
-
dataModels:
|
|
190
|
+
dataModels: List[DataSource] = []
|
|
201
191
|
custom_sql_queries: Optional[List[str]] = None
|
|
202
192
|
user_views: Optional[int] = None
|
|
203
193
|
|
|
@@ -154,7 +154,7 @@ class BigQuerySystemMetricsSource(
|
|
|
154
154
|
"rowsAffected": getattr(q, rows_affected_field),
|
|
155
155
|
}
|
|
156
156
|
for q in query_results
|
|
157
|
-
if getattr(q, rows_affected_field) > 0
|
|
157
|
+
if getattr(q, rows_affected_field, -1) > 0
|
|
158
158
|
and q.project_id == project_id
|
|
159
159
|
and q.dataset_id == dataset_id
|
|
160
160
|
and q.table_name == table
|