## Update catalog maintenance configuration `client.r2DataCatalog.maintenanceConfigs.update(stringbucketName, MaintenanceConfigUpdateParamsparams, RequestOptionsoptions?): MaintenanceConfigUpdateResponse` **post** `/accounts/{account_id}/r2-catalog/{bucket_name}/maintenance-configs` Update the maintenance configuration for a catalog. This allows you to enable or disable compaction and adjust target file sizes for optimization. ### Parameters - `bucketName: string` Specifies the R2 bucket name. - `params: MaintenanceConfigUpdateParams` - `account_id: string` Path param: Use this to identify the account. - `compaction?: Compaction` Body param: Updates compaction configuration (all fields optional). - `state?: "enabled" | "disabled"` Updates the state optionally. - `"enabled"` - `"disabled"` - `target_size_mb?: "64" | "128" | "256" | "512"` Updates the target file size optionally. - `"64"` - `"128"` - `"256"` - `"512"` - `snapshot_expiration?: SnapshotExpiration` Body param: Updates snapshot expiration configuration (all fields optional). - `max_snapshot_age?: string` Updates the maximum age for snapshots optionally. - `min_snapshots_to_keep?: number` Updates the minimum number of snapshots to retain optionally. - `state?: "enabled" | "disabled"` Updates the state optionally. - `"enabled"` - `"disabled"` ### Returns - `MaintenanceConfigUpdateResponse` Configures maintenance for the catalog. - `compaction?: Compaction` Configures compaction for catalog maintenance. - `state: "enabled" | "disabled"` Specifies the state of maintenance operations. - `"enabled"` - `"disabled"` - `target_size_mb: "64" | "128" | "256" | "512"` Sets the target file size for compaction in megabytes. Defaults to "128". - `"64"` - `"128"` - `"256"` - `"512"` - `snapshot_expiration?: SnapshotExpiration` Configures snapshot expiration settings. - `max_snapshot_age: 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". - `min_snapshots_to_keep: number` Specifies the minimum number of snapshots to retain. Defaults to 100. - `state: "enabled" | "disabled"` Specifies the state of maintenance operations. - `"enabled"` - `"disabled"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const maintenanceConfig = await client.r2DataCatalog.maintenanceConfigs.update('my-data-bucket', { account_id: '0123456789abcdef0123456789abcdef', compaction: { state: 'enabled', target_size_mb: '256' }, snapshot_expiration: { max_snapshot_age: '14d', min_snapshots_to_keep: 5, state: 'enabled', }, }); console.log(maintenanceConfig.compaction); ``` #### Response ```json { "errors": [], "messages": [], "result": { "compaction": { "state": "enabled", "target_size_mb": "256" }, "snapshot_expiration": { "max_snapshot_age": "14d", "min_snapshots_to_keep": 5, "state": "enabled" } }, "success": true } ```