diff --git a/packages/gooddata-sdk/src/gooddata_sdk/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/__init__.py index d268f9ebf..0e07ac5de 100644 --- a/packages/gooddata-sdk/src/gooddata_sdk/__init__.py +++ b/packages/gooddata-sdk/src/gooddata_sdk/__init__.py @@ -36,6 +36,7 @@ ) from gooddata_sdk.catalog.data_source.entity_model.data_source import ( CatalogDataSource, + CatalogDataSourceAiLakehouse, CatalogDataSourceBigQuery, CatalogDataSourceDatabricks, CatalogDataSourceGdStorage, diff --git a/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py index d3a92a038..b6d91eb2c 100644 --- a/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py +++ b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py @@ -318,3 +318,10 @@ class CatalogDataSourceGdStorage(CatalogDataSource): type: str = "GDSTORAGE" schema: str = "" credentials: Credentials = field(factory=_NoCredentials, repr=False) + + +@define(kw_only=True, eq=False) +class CatalogDataSourceAiLakehouse(CatalogDataSource): + type: str = "AILAKEHOUSE" + schema: str = "" + credentials: Credentials = field(factory=_NoCredentials, repr=False) diff --git a/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py b/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py index e6586450d..0eab39b18 100644 --- a/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py +++ b/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py @@ -11,6 +11,7 @@ from gooddata_sdk import ( BasicCredentials, CatalogDataSource, + CatalogDataSourceAiLakehouse, CatalogDataSourceBigQuery, CatalogDataSourceDatabricks, CatalogDataSourceMariaDb, @@ -892,3 +893,26 @@ def test_jdbc_urls_creation( ), ) assert data_source.url == url + + +def test_ailakehouse_datasource_instantiation(): + ds = CatalogDataSourceAiLakehouse(id="ailakehouse-1", name="AI Lakehouse") + assert ds.id == "ailakehouse-1" + assert ds.name == "AI Lakehouse" + assert ds.type == "AILAKEHOUSE" + assert ds.schema == "" + assert ds.url is None + + +def test_ailakehouse_datasource_from_api(): + entity = { + "id": "ailakehouse-1", + "attributes": { + "name": "AI Lakehouse", + "type": "AILAKEHOUSE", + "schema": "", + }, + } + ds = CatalogDataSourceAiLakehouse.from_api(entity) + assert ds.id == "ailakehouse-1" + assert ds.type == "AILAKEHOUSE"