What & Why
SnowflakeIcebergTable (snowcap/resources/iceberg_table.py) only models Snowflake-managed Iceberg tables (external_volume, catalog, base_location, catalog_sync). It cannot express externally managed / catalog-linked Iceberg tables that reference a catalog integration (e.g. AWS Glue / S3 Tables via the Iceberg REST catalog) — those need CATALOG = '<integration>', CATALOG_TABLE_NAME, and AUTO_REFRESH.
Ironically the catalog integration side is already supported (IcebergRestCatalogIntegration, PR #16) — but the tables that consume it still require manual SQL:
CREATE ICEBERG TABLE IF NOT EXISTS s3tables_page_snapshots
CATALOG = 'iceberg_catalog_agentic' -- IcebergRestCatalogIntegration
CATALOG_TABLE_NAME = 'page_snapshots'
AUTO_REFRESH = TRUE;
Acceptance Criteria
Resources
What & Why
SnowflakeIcebergTable(snowcap/resources/iceberg_table.py) only models Snowflake-managed Iceberg tables (external_volume,catalog,base_location,catalog_sync). It cannot express externally managed / catalog-linked Iceberg tables that reference a catalog integration (e.g. AWS Glue / S3 Tables via the Iceberg REST catalog) — those needCATALOG = '<integration>',CATALOG_TABLE_NAME, andAUTO_REFRESH.Ironically the catalog integration side is already supported (
IcebergRestCatalogIntegration, PR #16) — but the tables that consume it still require manual SQL:Acceptance Criteria
catalog(integration name),catalog_table_name,catalog_namespace,auto_refresh, optionalexternal_volumebase_location, column definitions)docs/resources/Resources
snowcap/resources/iceberg_table.py(Snowflake-managed only), PR feat(catalog_integration): add IcebergRestCatalogIntegration #16 (IcebergRestCatalogIntegration)