openmetadata-ingestion 1.5.11.0__py3-none-any.whl → 1.5.12.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.
- metadata/examples/workflows/mongodb.yaml +4 -0
- 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/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/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/createSearchIndex.py +1 -1
- metadata/generated/schema/api/data/createStoredProcedure.py +8 -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/lineage/__init__.py +1 -1
- metadata/generated/schema/api/lineage/addLineage.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/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/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/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/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/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/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/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/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/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/internal/__init__.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/searchIndexingAppConfig.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/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/metrics.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/report.py +1 -1
- metadata/generated/schema/entity/data/searchIndex.py +1 -1
- metadata/generated/schema/entity/data/storedProcedure.py +13 -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/apiService/__init__.py +1 -1
- metadata/generated/schema/entity/services/connections/apiService/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/modeConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/dashboard/mstrConnection.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/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/clickhouseConnection.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/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/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 +4 -1
- metadata/generated/schema/entity/services/connections/database/mssqlConnection.py +1 -1
- metadata/generated/schema/entity/services/connections/database/mysqlConnection.py +7 -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/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/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/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/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/testEventSubscriptionDestination.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/filterResourceDescriptor.py +1 -1
- metadata/generated/schema/events/subscriptionResourceDescriptor.py +1 -1
- metadata/generated/schema/metadataIngestion/__init__.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/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/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/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 +2 -2
- 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/page.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/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/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/ometa/client.py +13 -8
- metadata/ingestion/source/dashboard/mstr/client.py +111 -66
- metadata/ingestion/source/dashboard/mstr/metadata.py +57 -38
- metadata/ingestion/source/dashboard/mstr/models.py +8 -2
- metadata/ingestion/source/dashboard/superset/db_source.py +1 -1
- metadata/ingestion/source/database/athena/metadata.py +8 -0
- metadata/ingestion/source/database/common_nosql_source.py +7 -0
- metadata/ingestion/source/database/mysql/connection.py +5 -0
- metadata/ingestion/source/database/mysql/lineage.py +30 -0
- metadata/ingestion/source/database/mysql/queries.py +45 -0
- metadata/ingestion/source/database/mysql/query_parser.py +46 -0
- metadata/ingestion/source/database/mysql/usage.py +26 -0
- metadata/ingestion/source/database/stored_procedures_mixin.py +21 -6
- metadata/utils/logger.py +1 -1
- metadata/utils/ssl_manager.py +39 -1
- {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.5.12.0.dist-info}/METADATA +362 -366
- {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.5.12.0.dist-info}/RECORD +607 -603
- {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.5.12.0.dist-info}/LICENSE +0 -0
- {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.5.12.0.dist-info}/WHEEL +0 -0
- {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.5.12.0.dist-info}/entry_points.txt +0 -0
- {openmetadata_ingestion-1.5.11.0.dist-info → openmetadata_ingestion-1.5.12.0.dist-info}/top_level.txt +0 -0
|
@@ -91,6 +91,18 @@ class MstrSource(DashboardServiceSource):
|
|
|
91
91
|
"""
|
|
92
92
|
return dashboard.name
|
|
93
93
|
|
|
94
|
+
def get_project_name(self, dashboard_details: MstrDashboard) -> Optional[str]:
|
|
95
|
+
"""
|
|
96
|
+
Get dashboard project name
|
|
97
|
+
"""
|
|
98
|
+
try:
|
|
99
|
+
return dashboard_details.projectName
|
|
100
|
+
except Exception as exc:
|
|
101
|
+
logger.debug(
|
|
102
|
+
f"Cannot get project name from dashboard [{dashboard_details.name}] - [{exc}]"
|
|
103
|
+
)
|
|
104
|
+
return None
|
|
105
|
+
|
|
94
106
|
def get_dashboard_details(self, dashboard: MstrDashboard) -> MstrDashboardDetails:
|
|
95
107
|
"""
|
|
96
108
|
Get Dashboard Details
|
|
@@ -106,40 +118,41 @@ class MstrSource(DashboardServiceSource):
|
|
|
106
118
|
"""
|
|
107
119
|
Method to Get Dashboard Entity
|
|
108
120
|
"""
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
if dashboard_details:
|
|
122
|
+
try:
|
|
123
|
+
dashboard_url = (
|
|
124
|
+
f"{clean_uri(self.service_connection.hostPort)}/MicroStrategyLibrary/app/"
|
|
125
|
+
f"{dashboard_details.projectId}/{dashboard_details.id}"
|
|
126
|
+
)
|
|
127
|
+
dashboard_request = CreateDashboardRequest(
|
|
128
|
+
name=EntityName(dashboard_details.id),
|
|
129
|
+
displayName=dashboard_details.name,
|
|
130
|
+
sourceUrl=SourceUrl(dashboard_url),
|
|
131
|
+
project=dashboard_details.projectName,
|
|
132
|
+
charts=[
|
|
133
|
+
FullyQualifiedEntityName(
|
|
134
|
+
fqn.build(
|
|
135
|
+
self.metadata,
|
|
136
|
+
entity_type=Chart,
|
|
137
|
+
service_name=self.context.get().dashboard_service,
|
|
138
|
+
chart_name=chart,
|
|
139
|
+
)
|
|
126
140
|
)
|
|
141
|
+
for chart in self.context.get().charts or []
|
|
142
|
+
],
|
|
143
|
+
service=self.context.get().dashboard_service,
|
|
144
|
+
owners=self.get_owner_ref(dashboard_details=dashboard_details),
|
|
145
|
+
)
|
|
146
|
+
yield Either(right=dashboard_request)
|
|
147
|
+
self.register_record(dashboard_request=dashboard_request)
|
|
148
|
+
except Exception as exc:
|
|
149
|
+
yield Either(
|
|
150
|
+
left=StackTraceError(
|
|
151
|
+
name=dashboard_details.id,
|
|
152
|
+
error=f"Error yielding dashboard for {dashboard_details}: {exc}",
|
|
153
|
+
stackTrace=traceback.format_exc(),
|
|
127
154
|
)
|
|
128
|
-
for chart in self.context.get().charts or []
|
|
129
|
-
],
|
|
130
|
-
service=self.context.get().dashboard_service,
|
|
131
|
-
owners=self.get_owner_ref(dashboard_details=dashboard_details),
|
|
132
|
-
)
|
|
133
|
-
yield Either(right=dashboard_request)
|
|
134
|
-
self.register_record(dashboard_request=dashboard_request)
|
|
135
|
-
except Exception as exc:
|
|
136
|
-
yield Either(
|
|
137
|
-
left=StackTraceError(
|
|
138
|
-
name=dashboard_details.id,
|
|
139
|
-
error=f"Error yielding dashboard for {dashboard_details}: {exc}",
|
|
140
|
-
stackTrace=traceback.format_exc(),
|
|
141
155
|
)
|
|
142
|
-
)
|
|
143
156
|
|
|
144
157
|
def yield_dashboard_lineage_details(
|
|
145
158
|
self, dashboard_details: MstrDashboardDetails, db_service_name: str
|
|
@@ -156,14 +169,15 @@ class MstrSource(DashboardServiceSource):
|
|
|
156
169
|
Returns:
|
|
157
170
|
Iterable[CreateChartRequest]
|
|
158
171
|
"""
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
for
|
|
162
|
-
|
|
172
|
+
if dashboard_details:
|
|
173
|
+
try:
|
|
174
|
+
for chapter in dashboard_details.chapters:
|
|
175
|
+
for page in chapter.pages:
|
|
176
|
+
yield from self._yield_chart_from_visualization(page)
|
|
163
177
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
178
|
+
except Exception as exc:
|
|
179
|
+
logger.debug(traceback.format_exc())
|
|
180
|
+
logger.warning(f"Error creating dashboard: {exc}")
|
|
167
181
|
|
|
168
182
|
def _yield_chart_from_visualization(
|
|
169
183
|
self, page: MstrPage
|
|
@@ -192,3 +206,8 @@ class MstrSource(DashboardServiceSource):
|
|
|
192
206
|
stackTrace=traceback.format_exc(),
|
|
193
207
|
)
|
|
194
208
|
)
|
|
209
|
+
|
|
210
|
+
def close(self):
|
|
211
|
+
# close the api session
|
|
212
|
+
self.client.close_api_session()
|
|
213
|
+
self.metadata.close()
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
MSTR Models
|
|
13
13
|
"""
|
|
14
14
|
from datetime import datetime
|
|
15
|
-
from typing import List, Optional
|
|
15
|
+
from typing import Any, List, Optional
|
|
16
16
|
|
|
17
17
|
from pydantic import BaseModel
|
|
18
18
|
|
|
@@ -69,7 +69,8 @@ class MstrSearchResult(BaseModel):
|
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
class MstrSearchResultList(BaseModel):
|
|
72
|
-
|
|
72
|
+
totalItems: Optional[int] = 0
|
|
73
|
+
result: Optional[List[MstrSearchResult]] = None
|
|
73
74
|
|
|
74
75
|
|
|
75
76
|
class MstrDashboard(BaseModel):
|
|
@@ -142,3 +143,8 @@ class MstrDashboardDetails(BaseModel):
|
|
|
142
143
|
projectName: str
|
|
143
144
|
currentChapter: str
|
|
144
145
|
chapters: List[MstrChapter]
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
class AuthHeaderCookie(BaseModel):
|
|
149
|
+
auth_header: dict
|
|
150
|
+
auth_cookies: Any
|
|
@@ -201,7 +201,7 @@ class SupersetDBSource(SupersetSourceMixin):
|
|
|
201
201
|
except Exception as exc:
|
|
202
202
|
yield Either(
|
|
203
203
|
left=StackTraceError(
|
|
204
|
-
name=chart_json.id,
|
|
204
|
+
name=str(chart_json.id),
|
|
205
205
|
error=f"Error yielding Chart [{chart_json.id} - {chart_json.slice_name}]: {exc}",
|
|
206
206
|
stackTrace=traceback.format_exc(),
|
|
207
207
|
)
|
|
@@ -157,6 +157,14 @@ class AthenaSource(ExternalTableLineageMixin, CommonDbSourceService):
|
|
|
157
157
|
return True, partition_details
|
|
158
158
|
return False, None
|
|
159
159
|
|
|
160
|
+
def get_location_path(self, table_name: str, schema_name: str) -> Optional[str]:
|
|
161
|
+
"""
|
|
162
|
+
Method to fetch the location path of the table
|
|
163
|
+
"""
|
|
164
|
+
return self.external_location_map.get(
|
|
165
|
+
(self.context.get().database, schema_name, table_name)
|
|
166
|
+
)
|
|
167
|
+
|
|
160
168
|
def yield_tag(
|
|
161
169
|
self, schema_name: str
|
|
162
170
|
) -> Iterable[Either[OMetaTagAndClassification]]:
|
|
@@ -54,6 +54,7 @@ from metadata.utils.constants import DEFAULT_DATABASE
|
|
|
54
54
|
from metadata.utils.datalake.datalake_utils import DataFrameColumnParser
|
|
55
55
|
from metadata.utils.filters import filter_by_schema, filter_by_table
|
|
56
56
|
from metadata.utils.logger import ingestion_logger
|
|
57
|
+
from metadata.utils.ssl_manager import check_ssl_and_init
|
|
57
58
|
|
|
58
59
|
logger = ingestion_logger()
|
|
59
60
|
|
|
@@ -75,7 +76,13 @@ class CommonNoSQLSource(DatabaseServiceSource, ABC):
|
|
|
75
76
|
)
|
|
76
77
|
self.metadata = metadata
|
|
77
78
|
self.service_connection = self.config.serviceConnection.root.config
|
|
79
|
+
self.ssl_manager = check_ssl_and_init(self.service_connection)
|
|
80
|
+
if self.ssl_manager:
|
|
81
|
+
self.service_connection = self.ssl_manager.setup_ssl(
|
|
82
|
+
self.service_connection
|
|
83
|
+
)
|
|
78
84
|
self.connection_obj = get_connection(self.service_connection)
|
|
85
|
+
|
|
79
86
|
self.test_connection()
|
|
80
87
|
|
|
81
88
|
def prepare(self):
|
|
@@ -38,6 +38,7 @@ from metadata.ingestion.connections.test_connections import (
|
|
|
38
38
|
test_connection_db_schema_sources,
|
|
39
39
|
)
|
|
40
40
|
from metadata.ingestion.ometa.ometa_api import OpenMetadata
|
|
41
|
+
from metadata.ingestion.source.database.mysql.queries import MYSQL_TEST_GET_QUERIES
|
|
41
42
|
from metadata.utils.constants import THREE_MIN
|
|
42
43
|
|
|
43
44
|
|
|
@@ -73,10 +74,14 @@ def test_connection(
|
|
|
73
74
|
Test connection. This can be executed either as part
|
|
74
75
|
of a metadata workflow or during an Automation Workflow
|
|
75
76
|
"""
|
|
77
|
+
queries = {
|
|
78
|
+
"GetQueries": MYSQL_TEST_GET_QUERIES,
|
|
79
|
+
}
|
|
76
80
|
return test_connection_db_schema_sources(
|
|
77
81
|
metadata=metadata,
|
|
78
82
|
engine=engine,
|
|
79
83
|
service_connection=service_connection,
|
|
80
84
|
automation_workflow=automation_workflow,
|
|
81
85
|
timeout_seconds=timeout_seconds,
|
|
86
|
+
queries=queries,
|
|
82
87
|
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright 2021 Collate
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
8
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
# See the License for the specific language governing permissions and
|
|
10
|
+
# limitations under the License.
|
|
11
|
+
"""
|
|
12
|
+
MYSQL lineage module
|
|
13
|
+
"""
|
|
14
|
+
from metadata.ingestion.source.database.lineage_source import LineageSource
|
|
15
|
+
from metadata.ingestion.source.database.mysql.queries import MYSQL_SQL_STATEMENT
|
|
16
|
+
from metadata.ingestion.source.database.mysql.query_parser import MysqlQueryParserSource
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class MysqlLineageSource(MysqlQueryParserSource, LineageSource):
|
|
20
|
+
|
|
21
|
+
sql_stmt = MYSQL_SQL_STATEMENT
|
|
22
|
+
|
|
23
|
+
filters = """
|
|
24
|
+
AND (
|
|
25
|
+
lower(argument) LIKE '%%create%%table%%select%%'
|
|
26
|
+
OR lower(argument) LIKE '%%insert%%into%%select%%'
|
|
27
|
+
OR lower(argument) LIKE '%%update%%'
|
|
28
|
+
OR lower(argument) LIKE '%%merge%%'
|
|
29
|
+
)
|
|
30
|
+
"""
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright 2021 Collate
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
8
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
# See the License for the specific language governing permissions and
|
|
10
|
+
# limitations under the License.
|
|
11
|
+
"""
|
|
12
|
+
SQL Queries used during ingestion
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import textwrap
|
|
16
|
+
|
|
17
|
+
MYSQL_SQL_STATEMENT = textwrap.dedent(
|
|
18
|
+
"""
|
|
19
|
+
SELECT
|
|
20
|
+
NULL `database_name`,
|
|
21
|
+
argument `query_text`,
|
|
22
|
+
event_time `start_time`,
|
|
23
|
+
NULL `end_time`,
|
|
24
|
+
NULL `duration`,
|
|
25
|
+
NULL `schema_name`,
|
|
26
|
+
NULL `query_type`,
|
|
27
|
+
NULL `user_name`,
|
|
28
|
+
NULL `aborted`
|
|
29
|
+
FROM mysql.general_log
|
|
30
|
+
WHERE command_type = 'Query'
|
|
31
|
+
AND event_time between '{start_time}' and '{end_time}'
|
|
32
|
+
AND argument NOT LIKE '/* {{"app": "OpenMetadata", %%}} */%%'
|
|
33
|
+
AND argument NOT LIKE '/* {{"app": "dbt", %%}} */%%'
|
|
34
|
+
{filters}
|
|
35
|
+
ORDER BY event_time desc
|
|
36
|
+
LIMIT {result_limit};
|
|
37
|
+
"""
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
MYSQL_TEST_GET_QUERIES = textwrap.dedent(
|
|
42
|
+
"""
|
|
43
|
+
SELECT `argument` from mysql.general_log limit 1;
|
|
44
|
+
"""
|
|
45
|
+
)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Copyright 2021 Collate
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
8
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
# See the License for the specific language governing permissions and
|
|
10
|
+
# limitations under the License.
|
|
11
|
+
"""
|
|
12
|
+
Mysql query parser module
|
|
13
|
+
"""
|
|
14
|
+
from abc import ABC
|
|
15
|
+
from typing import Optional
|
|
16
|
+
|
|
17
|
+
from metadata.generated.schema.entity.services.connections.database.mysqlConnection import (
|
|
18
|
+
MysqlConnection,
|
|
19
|
+
)
|
|
20
|
+
from metadata.generated.schema.metadataIngestion.workflow import (
|
|
21
|
+
Source as WorkflowSource,
|
|
22
|
+
)
|
|
23
|
+
from metadata.ingestion.api.steps import InvalidSourceException
|
|
24
|
+
from metadata.ingestion.ometa.ometa_api import OpenMetadata
|
|
25
|
+
from metadata.ingestion.source.database.query_parser_source import QueryParserSource
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class MysqlQueryParserSource(QueryParserSource, ABC):
|
|
29
|
+
"""
|
|
30
|
+
Mysql base for Usage and Lineage
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
filters: str
|
|
34
|
+
|
|
35
|
+
@classmethod
|
|
36
|
+
def create(
|
|
37
|
+
cls, config_dict, metadata: OpenMetadata, pipeline_name: Optional[str] = None
|
|
38
|
+
):
|
|
39
|
+
"""Create class instance"""
|
|
40
|
+
config: WorkflowSource = WorkflowSource.model_validate(config_dict)
|
|
41
|
+
connection: MysqlConnection = config.serviceConnection.root.config
|
|
42
|
+
if not isinstance(connection, MysqlConnection):
|
|
43
|
+
raise InvalidSourceException(
|
|
44
|
+
f"Expected MysqlConnection, but got {connection}"
|
|
45
|
+
)
|
|
46
|
+
return cls(config, metadata)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright 2021 Collate
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
8
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
# See the License for the specific language governing permissions and
|
|
10
|
+
# limitations under the License.
|
|
11
|
+
"""
|
|
12
|
+
MYSQL usage module
|
|
13
|
+
"""
|
|
14
|
+
from metadata.ingestion.source.database.mysql.queries import MYSQL_SQL_STATEMENT
|
|
15
|
+
from metadata.ingestion.source.database.mysql.query_parser import MysqlQueryParserSource
|
|
16
|
+
from metadata.ingestion.source.database.usage_source import UsageSource
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class MysqlUsageSource(MysqlQueryParserSource, UsageSource):
|
|
20
|
+
|
|
21
|
+
sql_stmt = MYSQL_SQL_STATEMENT
|
|
22
|
+
|
|
23
|
+
filters = ""
|
|
24
|
+
|
|
25
|
+
def format_query(self, query: bytes) -> str:
|
|
26
|
+
return query.decode(errors="ignore").replace("\\n", "\n")
|
|
@@ -217,9 +217,24 @@ class StoredProcedureMixin(ABC):
|
|
|
217
217
|
for query_by_procedure in (
|
|
218
218
|
queries_dict.get(procedure.name.root.lower()) or []
|
|
219
219
|
):
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
220
|
+
try:
|
|
221
|
+
yield from self.yield_procedure_lineage(
|
|
222
|
+
query_by_procedure=query_by_procedure,
|
|
223
|
+
procedure=procedure,
|
|
224
|
+
)
|
|
225
|
+
except Exception as exc:
|
|
226
|
+
logger.debug(traceback.format_exc())
|
|
227
|
+
logger.warning(
|
|
228
|
+
f"Could not get lineage for store procedure '{procedure_fqn}' due to [{exc}]."
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
try:
|
|
232
|
+
yield from self.yield_procedure_query(
|
|
233
|
+
query_by_procedure=query_by_procedure,
|
|
234
|
+
procedure=procedure,
|
|
235
|
+
)
|
|
236
|
+
except Exception as exc:
|
|
237
|
+
logger.debug(traceback.format_exc())
|
|
238
|
+
logger.warning(
|
|
239
|
+
f"Could not get query for store procedure '{procedure_fqn}' due to [{exc}]."
|
|
240
|
+
)
|
metadata/utils/logger.py
CHANGED
metadata/utils/ssl_manager.py
CHANGED
|
@@ -21,6 +21,9 @@ from typing import Optional, Union, cast
|
|
|
21
21
|
|
|
22
22
|
from pydantic import SecretStr
|
|
23
23
|
|
|
24
|
+
from metadata.generated.schema.entity.services.connections.connectionBasicType import (
|
|
25
|
+
ConnectionOptions,
|
|
26
|
+
)
|
|
24
27
|
from metadata.generated.schema.entity.services.connections.dashboard.qlikSenseConnection import (
|
|
25
28
|
QlikSenseConnection,
|
|
26
29
|
)
|
|
@@ -30,6 +33,9 @@ from metadata.generated.schema.entity.services.connections.database.dorisConnect
|
|
|
30
33
|
from metadata.generated.schema.entity.services.connections.database.greenplumConnection import (
|
|
31
34
|
GreenplumConnection,
|
|
32
35
|
)
|
|
36
|
+
from metadata.generated.schema.entity.services.connections.database.mongoDBConnection import (
|
|
37
|
+
MongoDBConnection,
|
|
38
|
+
)
|
|
33
39
|
from metadata.generated.schema.entity.services.connections.database.mysqlConnection import (
|
|
34
40
|
MysqlConnection,
|
|
35
41
|
)
|
|
@@ -158,6 +164,20 @@ class SSLManager:
|
|
|
158
164
|
"check_hostname": connection.validateHostName,
|
|
159
165
|
}
|
|
160
166
|
|
|
167
|
+
@setup_ssl.register(MongoDBConnection)
|
|
168
|
+
def _(self, connection: MongoDBConnection):
|
|
169
|
+
connection.connectionOptions = (
|
|
170
|
+
connection.connectionOptions or ConnectionOptions(root={})
|
|
171
|
+
)
|
|
172
|
+
connection.connectionOptions.root.update(
|
|
173
|
+
{
|
|
174
|
+
"tls": "true",
|
|
175
|
+
"tlsCertificateKeyFile": self.key_file_path,
|
|
176
|
+
"tlsCAFile": self.ca_file_path,
|
|
177
|
+
}
|
|
178
|
+
)
|
|
179
|
+
return connection
|
|
180
|
+
|
|
161
181
|
@setup_ssl.register(KafkaConnection)
|
|
162
182
|
def _(self, connection):
|
|
163
183
|
connection = cast(KafkaConnection, connection)
|
|
@@ -170,7 +190,7 @@ class SSLManager:
|
|
|
170
190
|
|
|
171
191
|
|
|
172
192
|
@singledispatch
|
|
173
|
-
def check_ssl_and_init(_) ->
|
|
193
|
+
def check_ssl_and_init(_) -> Optional[SSLManager]:
|
|
174
194
|
return None
|
|
175
195
|
|
|
176
196
|
|
|
@@ -203,6 +223,24 @@ def _(connection):
|
|
|
203
223
|
return None
|
|
204
224
|
|
|
205
225
|
|
|
226
|
+
@check_ssl_and_init.register(MongoDBConnection)
|
|
227
|
+
def _(connection):
|
|
228
|
+
service_connection = cast(Union[MysqlConnection, DorisConnection], connection)
|
|
229
|
+
ssl: Optional[verifySSLConfig.SslConfig] = service_connection.sslConfig
|
|
230
|
+
if ssl and ssl.root.sslCertificate:
|
|
231
|
+
raise ValueError(
|
|
232
|
+
"MongoDB connection does not support SSL certificate. Only CA certificate is supported.\n"
|
|
233
|
+
"More information about configuring MongoDB connection can be found at:\n"
|
|
234
|
+
"https://www.mongodb.com/docs/manual/tutorial/configure-ssl-clients/#mongodb-shell"
|
|
235
|
+
)
|
|
236
|
+
if ssl and (ssl.root.caCertificate or ssl.root.sslKey):
|
|
237
|
+
return SSLManager(
|
|
238
|
+
ca=ssl.root.caCertificate,
|
|
239
|
+
key=ssl.root.sslKey,
|
|
240
|
+
)
|
|
241
|
+
return None
|
|
242
|
+
|
|
243
|
+
|
|
206
244
|
@check_ssl_and_init.register(PostgresConnection)
|
|
207
245
|
@check_ssl_and_init.register(RedshiftConnection)
|
|
208
246
|
@check_ssl_and_init.register(GreenplumConnection)
|