diff --git a/metadata-ingestion/src/datahub/ingestion/autogenerated/capability_summary.json b/metadata-ingestion/src/datahub/ingestion/autogenerated/capability_summary.json index 82596cfbb9..642c42baed 100644 --- a/metadata-ingestion/src/datahub/ingestion/autogenerated/capability_summary.json +++ b/metadata-ingestion/src/datahub/ingestion/autogenerated/capability_summary.json @@ -1,5 +1,5 @@ { - "generated_at": "2025-07-31T12:54:30.557618+00:00", + "generated_at": "2025-08-26T04:27:09.672087+00:00", "generated_by": "metadata-ingestion/scripts/capability_summary.py", "plugin_details": { "abs": { @@ -646,7 +646,10 @@ { "capability": "CONTAINERS", "description": "Enabled by default", - "subtype_modifier": null, + "subtype_modifier": [ + "Dremio Space", + "Dremio Source" + ], "supported": true }, { @@ -1245,7 +1248,8 @@ "capability": "CONTAINERS", "description": "Enabled by default", "subtype_modifier": [ - "Catalog" + "Catalog", + "Schema" ], "supported": true }, @@ -2230,7 +2234,10 @@ { "capability": "CONTAINERS", "description": "Enabled by default", - "subtype_modifier": null, + "subtype_modifier": [ + "Workspace", + "Semantic Model" + ], "supported": true }, { @@ -2427,7 +2434,8 @@ "capability": "CONTAINERS", "description": "Enabled by default", "subtype_modifier": [ - "Catalog" + "Catalog", + "Schema" ], "supported": true }, diff --git a/metadata-ingestion/src/datahub/ingestion/source/common/subtypes.py b/metadata-ingestion/src/datahub/ingestion/source/common/subtypes.py index a2d9a33189..4ec44e5c0a 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/common/subtypes.py +++ b/metadata-ingestion/src/datahub/ingestion/source/common/subtypes.py @@ -54,6 +54,8 @@ class DatasetContainerSubTypes(StrEnum): ABS_CONTAINER = "ABS container" KEYSPACE = "Keyspace" # Cassandra NAMESPACE = "Namespace" # Iceberg + DREMIO_SPACE = "Dremio Space" + DREMIO_SOURCE = "Dremio Source" class BIContainerSubTypes(StrEnum): @@ -63,6 +65,7 @@ class BIContainerSubTypes(StrEnum): TABLEAU_SITE = "Site" TABLEAU_PROJECT = "Project" TABLEAU_WORKBOOK = "Workbook" + POWERBI_WORKSPACE = "Workspace" POWERBI_DATASET = "Semantic Model" POWERBI_DATASET_TABLE = "Table" QLIK_SPACE = "Qlik Space" diff --git a/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_aspects.py b/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_aspects.py index d68b41d0c0..c0675e0798 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_aspects.py +++ b/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_aspects.py @@ -14,6 +14,7 @@ from datahub.emitter.mce_builder import ( from datahub.emitter.mcp import MetadataChangeProposalWrapper from datahub.emitter.mcp_builder import ContainerKey from datahub.ingestion.api.workunit import MetadataWorkUnit +from datahub.ingestion.source.common.subtypes import DatasetContainerSubTypes from datahub.ingestion.source.dremio.dremio_entities import ( DremioContainer, DremioDataset, @@ -364,9 +365,9 @@ class DremioAspects: ) -> Optional[BrowsePathsV2Class]: paths = [] - if entity.subclass == "Dremio Space": + if entity.subclass == DatasetContainerSubTypes.DREMIO_SPACE.value: paths.append(BrowsePathEntryClass(id="Spaces")) - elif entity.subclass == "Dremio Source": + elif entity.subclass == DatasetContainerSubTypes.DREMIO_SOURCE.value: paths.append(BrowsePathEntryClass(id="Sources")) if paths: return BrowsePathsV2Class(path=paths) diff --git a/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_source.py b/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_source.py index 82a8f959ee..0012178676 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_source.py +++ b/metadata-ingestion/src/datahub/ingestion/source/dremio/dremio_source.py @@ -90,6 +90,10 @@ class DremioSourceMapEntry: @capability( SourceCapability.CONTAINERS, "Enabled by default", + subtype_modifier=[ + SourceCapabilityModifier.DREMIO_SPACE, + SourceCapabilityModifier.DREMIO_SOURCE, + ], ) @capability(SourceCapability.DATA_PROFILING, "Optionally enabled via configuration") @capability(SourceCapability.DESCRIPTIONS, "Enabled by default") diff --git a/metadata-ingestion/src/datahub/ingestion/source/powerbi/powerbi.py b/metadata-ingestion/src/datahub/ingestion/source/powerbi/powerbi.py index 3c80f329da..9ba30c5d19 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/powerbi/powerbi.py +++ b/metadata-ingestion/src/datahub/ingestion/source/powerbi/powerbi.py @@ -40,6 +40,7 @@ from datahub.ingestion.api.workunit import MetadataWorkUnit from datahub.ingestion.source.common.subtypes import ( BIAssetSubTypes, BIContainerSubTypes, + SourceCapabilityModifier, ) from datahub.ingestion.source.powerbi.config import ( Constant, @@ -1229,6 +1230,10 @@ class Mapper: @capability( SourceCapability.CONTAINERS, "Enabled by default", + subtype_modifier=[ + SourceCapabilityModifier.POWERBI_WORKSPACE, + SourceCapabilityModifier.POWERBI_DATASET, + ], ) @capability(SourceCapability.DESCRIPTIONS, "Enabled by default") @capability(SourceCapability.OWNERSHIP, "Enabled by default") diff --git a/metadata-ingestion/src/datahub/ingestion/source/sql/hive_metastore.py b/metadata-ingestion/src/datahub/ingestion/source/sql/hive_metastore.py index 858c670190..226b2b07fd 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/sql/hive_metastore.py +++ b/metadata-ingestion/src/datahub/ingestion/source/sql/hive_metastore.py @@ -174,6 +174,7 @@ class HiveMetastore(BasicSQLAlchemyConfig): "Enabled by default", subtype_modifier=[ SourceCapabilityModifier.CATALOG, + SourceCapabilityModifier.SCHEMA, ], ) class HiveMetastoreSource(SQLAlchemySource):