## List R2 catalogs `client.R2DataCatalog.List(ctx, query) (*R2DataCatalogListResponse, error)` **get** `/accounts/{account_id}/r2-catalog` Returns a list of R2 buckets that have been enabled as Apache Iceberg catalogs for the specified account. Each catalog represents an R2 bucket configured to store Iceberg metadata and data files. ### Parameters - `query R2DataCatalogListParams` - `AccountID param.Field[string]` Use this to identify the account. ### Returns - `type R2DataCatalogListResponse struct{…}` Contains the list of catalogs. - `Warehouses []R2DataCatalogListResponseWarehouse` Lists catalogs in the account. - `ID string` Use this to uniquely identify the catalog. - `Bucket string` Specifies the associated R2 bucket name. - `Name string` Specifies the catalog name (generated from account and bucket name). - `Status R2DataCatalogListResponseWarehousesStatus` Indicates the status of the catalog. - `const R2DataCatalogListResponseWarehousesStatusActive R2DataCatalogListResponseWarehousesStatus = "active"` - `const R2DataCatalogListResponseWarehousesStatusInactive R2DataCatalogListResponseWarehousesStatus = "inactive"` - `CredentialStatus R2DataCatalogListResponseWarehousesCredentialStatus` Shows the credential configuration status. - `const R2DataCatalogListResponseWarehousesCredentialStatusPresent R2DataCatalogListResponseWarehousesCredentialStatus = "present"` - `const R2DataCatalogListResponseWarehousesCredentialStatusAbsent R2DataCatalogListResponseWarehousesCredentialStatus = "absent"` - `MaintenanceConfig R2DataCatalogListResponseWarehousesMaintenanceConfig` Configures maintenance for the catalog. - `Compaction R2DataCatalogListResponseWarehousesMaintenanceConfigCompaction` Configures compaction for catalog maintenance. - `State R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionState` Specifies the state of maintenance operations. - `const R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionStateEnabled R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionState = "enabled"` - `const R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionStateDisabled R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionState = "disabled"` - `TargetSizeMB R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB` Sets the target file size for compaction in megabytes. Defaults to "128". - `const R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB64 R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB = "64"` - `const R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB128 R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB = "128"` - `const R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB256 R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB = "256"` - `const R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB512 R2DataCatalogListResponseWarehousesMaintenanceConfigCompactionTargetSizeMB = "512"` - `SnapshotExpiration R2DataCatalogListResponseWarehousesMaintenanceConfigSnapshotExpiration` Configures snapshot expiration settings. - `MaxSnapshotAge string` Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: "7d" (7 days), "48h" (48 hours), "2880m" (2,880 minutes). Defaults to "7d". - `MinSnapshotsToKeep int64` Specifies the minimum number of snapshots to retain. Defaults to 100. - `State R2DataCatalogListResponseWarehousesMaintenanceConfigSnapshotExpirationState` Specifies the state of maintenance operations. - `const R2DataCatalogListResponseWarehousesMaintenanceConfigSnapshotExpirationStateEnabled R2DataCatalogListResponseWarehousesMaintenanceConfigSnapshotExpirationState = "enabled"` - `const R2DataCatalogListResponseWarehousesMaintenanceConfigSnapshotExpirationStateDisabled R2DataCatalogListResponseWarehousesMaintenanceConfigSnapshotExpirationState = "disabled"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/r2_data_catalog" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) r2DataCatalogs, err := client.R2DataCatalog.List(context.TODO(), r2_data_catalog.R2DataCatalogListParams{ AccountID: cloudflare.F("0123456789abcdef0123456789abcdef"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", r2DataCatalogs.Warehouses) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "warehouses": [ { "bucket": "analytics-bucket", "id": "550e8400-e29b-41d4-a716-446655440000", "maintenance_config": { "compaction": { "state": "enabled", "target_size_mb": "128" }, "snapshot_expiration": { "max_snapshot_age": "7d", "min_snapshots_to_keep": 100, "state": "enabled" } }, "name": "account123_analytics-bucket", "status": "active" }, { "bucket": "logs-bucket", "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "maintenance_config": { "compaction": { "state": "disabled", "target_size_mb": "128" }, "snapshot_expiration": { "max_snapshot_age": "7d", "min_snapshots_to_keep": 100, "state": "disabled" } }, "name": "account123_logs-bucket", "status": "inactive" } ] }, "success": true } ```