mirror of
https://github.com/datahub-project/datahub.git
synced 2025-09-18 13:43:19 +00:00
fix(ingest/looker): correct looker/lookml capability reports (#7683)
This commit is contained in:
parent
419bee8614
commit
6d04511949
@ -24,7 +24,7 @@ from pydantic import Field, validator
|
||||
|
||||
import datahub.emitter.mce_builder as builder
|
||||
from datahub.configuration.common import AllowDenyPattern, ConfigurationError
|
||||
from datahub.configuration.source_common import DatasetSourceConfigMixin
|
||||
from datahub.configuration.source_common import DatasetSourceConfigMixin, EnvConfigMixin
|
||||
from datahub.configuration.validate_field_removal import pydantic_removed_field
|
||||
from datahub.emitter.mcp import MetadataChangeProposalWrapper
|
||||
from datahub.emitter.mcp_builder import create_embed_mcp
|
||||
@ -106,7 +106,7 @@ class LookerDashboardSourceConfig(
|
||||
LookerAPIConfig,
|
||||
LookerCommonConfig,
|
||||
StatefulIngestionConfigBase,
|
||||
DatasetSourceConfigMixin,
|
||||
EnvConfigMixin,
|
||||
):
|
||||
_removed_github_info = pydantic_removed_field("github_info")
|
||||
|
||||
@ -168,23 +168,18 @@ class LookerDashboardSourceConfig(
|
||||
) -> Optional[str]:
|
||||
return v or values.get("base_url")
|
||||
|
||||
@validator("platform_instance")
|
||||
def platform_instance_not_supported(cls, v: Optional[str]) -> Optional[str]:
|
||||
if v is not None:
|
||||
raise ConfigurationError("Looker Source doesn't support platform instances")
|
||||
return v
|
||||
|
||||
|
||||
@platform_name("Looker")
|
||||
@support_status(SupportStatus.CERTIFIED)
|
||||
@config_class(LookerDashboardSourceConfig)
|
||||
@capability(SourceCapability.DESCRIPTIONS, "Enabled by default")
|
||||
@capability(SourceCapability.PLATFORM_INSTANCE, "Enabled by default")
|
||||
@capability(SourceCapability.PLATFORM_INSTANCE, "Not supported", supported=False)
|
||||
@capability(
|
||||
SourceCapability.OWNERSHIP, "Enabled by default, configured using `extract_owners`"
|
||||
)
|
||||
@capability(
|
||||
SourceCapability.USAGE_STATS, "Can be enabled using `extract_usage_history`"
|
||||
SourceCapability.USAGE_STATS,
|
||||
"Enabled by default, configured using `extract_usage_history`",
|
||||
)
|
||||
class LookerDashboardSource(TestableSource, StatefulIngestionSourceBase):
|
||||
"""
|
||||
|
@ -27,11 +27,13 @@ from datahub.emitter.mcp import MetadataChangeProposalWrapper
|
||||
from datahub.ingestion.api.common import PipelineContext
|
||||
from datahub.ingestion.api.decorators import (
|
||||
SupportStatus,
|
||||
capability,
|
||||
config_class,
|
||||
platform_name,
|
||||
support_status,
|
||||
)
|
||||
from datahub.ingestion.api.registry import import_path
|
||||
from datahub.ingestion.api.source import SourceCapability
|
||||
from datahub.ingestion.api.workunit import MetadataWorkUnit
|
||||
from datahub.ingestion.source.common.subtypes import DatasetSubTypes
|
||||
from datahub.ingestion.source.git.git_import import GitClone
|
||||
@ -175,7 +177,7 @@ class LookerConnectionDefinition(ConfigModel):
|
||||
|
||||
|
||||
class LookMLSourceConfig(
|
||||
LookerCommonConfig, StatefulIngestionConfigBase, DatasetSourceConfigMixin
|
||||
LookerCommonConfig, StatefulIngestionConfigBase, EnvConfigMixin
|
||||
):
|
||||
git_info: Optional[GitInfo] = Field(
|
||||
None,
|
||||
@ -237,14 +239,6 @@ class LookMLSourceConfig(
|
||||
default=None, description=""
|
||||
)
|
||||
|
||||
@validator("platform_instance")
|
||||
def platform_instance_not_supported(cls, v: Optional[str]) -> Optional[str]:
|
||||
if v is not None:
|
||||
raise ConfigurationError(
|
||||
"LookML Source doesn't support platform instance at the top level. However connection-specific platform instances are supported for generating lineage edges. Read the documentation to find out more."
|
||||
)
|
||||
return v
|
||||
|
||||
@validator("connection_to_platform_map", pre=True)
|
||||
def convert_string_to_connection_def(cls, conn_map):
|
||||
# Previous version of config supported strings in connection map. This upconverts strings to ConnectionMap
|
||||
@ -1094,6 +1088,12 @@ class LookerManifest:
|
||||
@platform_name("Looker")
|
||||
@config_class(LookMLSourceConfig)
|
||||
@support_status(SupportStatus.CERTIFIED)
|
||||
@capability(SourceCapability.PLATFORM_INSTANCE, "Not supported", supported=False)
|
||||
@capability(SourceCapability.LINEAGE_COARSE, "Supported by default")
|
||||
@capability(
|
||||
SourceCapability.LINEAGE_FINE,
|
||||
"Enabled by default, configured using `extract_column_level_lineage`",
|
||||
)
|
||||
class LookMLSource(StatefulIngestionSourceBase):
|
||||
"""
|
||||
This plugin extracts the following:
|
||||
|
Loading…
x
Reference in New Issue
Block a user