import { APIResource } from "../../../../resource.js"; import * as Core from "../../../../core.js"; export declare class MaintenanceConfigs extends APIResource { /** * Update the maintenance configuration for a specific table. This allows you to * enable or disable compaction and adjust target file sizes for optimization. * * @example * ```ts * const maintenanceConfig = * await client.r2DataCatalog.namespaces.tables.maintenanceConfigs.update( * 'my-data-bucket', * 'my_namespace%1Fsub_namespace', * 'my_table', * { * account_id: '0123456789abcdef0123456789abcdef', * compaction: { * state: 'enabled', * target_size_mb: '256', * }, * snapshot_expiration: { * max_snapshot_age: '14d', * min_snapshots_to_keep: 5, * state: 'enabled', * }, * }, * ); * ``` */ update(bucketName: string, namespace: string, tableName: string, params: MaintenanceConfigUpdateParams, options?: Core.RequestOptions): Core.APIPromise; /** * Retrieve the maintenance configuration for a specific table, including * compaction settings. * * @example * ```ts * const maintenanceConfig = * await client.r2DataCatalog.namespaces.tables.maintenanceConfigs.get( * 'my-data-bucket', * 'my_namespace%1Fsub_namespace', * 'my_table', * { account_id: '0123456789abcdef0123456789abcdef' }, * ); * ``` */ get(bucketName: string, namespace: string, tableName: string, params: MaintenanceConfigGetParams, options?: Core.RequestOptions): Core.APIPromise; } /** * Configures maintenance for the table. */ export interface MaintenanceConfigUpdateResponse { /** * Configures compaction settings for table optimization. */ compaction?: MaintenanceConfigUpdateResponse.Compaction; /** * Configures snapshot expiration settings. */ snapshot_expiration?: MaintenanceConfigUpdateResponse.SnapshotExpiration; } export declare namespace MaintenanceConfigUpdateResponse { /** * Configures compaction settings for table optimization. */ interface Compaction { /** * Specifies the state of maintenance operations. */ state: 'enabled' | 'disabled'; /** * Sets the target file size for compaction in megabytes. Defaults to "128". */ target_size_mb: '64' | '128' | '256' | '512'; } /** * Configures snapshot expiration settings. */ interface SnapshotExpiration { /** * 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". */ max_snapshot_age: string; /** * Specifies the minimum number of snapshots to retain. Defaults to 100. */ min_snapshots_to_keep: number; /** * Specifies the state of maintenance operations. */ state: 'enabled' | 'disabled'; } } /** * Contains table maintenance configuration. */ export interface MaintenanceConfigGetResponse { /** * Configures maintenance for the table. */ maintenance_config: MaintenanceConfigGetResponse.MaintenanceConfig; } export declare namespace MaintenanceConfigGetResponse { /** * Configures maintenance for the table. */ interface MaintenanceConfig { /** * Configures compaction settings for table optimization. */ compaction?: MaintenanceConfig.Compaction; /** * Configures snapshot expiration settings. */ snapshot_expiration?: MaintenanceConfig.SnapshotExpiration; } namespace MaintenanceConfig { /** * Configures compaction settings for table optimization. */ interface Compaction { /** * Specifies the state of maintenance operations. */ state: 'enabled' | 'disabled'; /** * Sets the target file size for compaction in megabytes. Defaults to "128". */ target_size_mb: '64' | '128' | '256' | '512'; } /** * Configures snapshot expiration settings. */ interface SnapshotExpiration { /** * 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". */ max_snapshot_age: string; /** * Specifies the minimum number of snapshots to retain. Defaults to 100. */ min_snapshots_to_keep: number; /** * Specifies the state of maintenance operations. */ state: 'enabled' | 'disabled'; } } } export interface MaintenanceConfigUpdateParams { /** * Path param: Use this to identify the account. */ account_id: string; /** * Body param: Updates compaction configuration (all fields optional). */ compaction?: MaintenanceConfigUpdateParams.Compaction; /** * Body param: Updates snapshot expiration configuration (all fields optional). */ snapshot_expiration?: MaintenanceConfigUpdateParams.SnapshotExpiration; } export declare namespace MaintenanceConfigUpdateParams { /** * Updates compaction configuration (all fields optional). */ interface Compaction { /** * Updates the state optionally. */ state?: 'enabled' | 'disabled'; /** * Updates the target file size optionally. */ target_size_mb?: '64' | '128' | '256' | '512'; } /** * Updates snapshot expiration configuration (all fields optional). */ interface SnapshotExpiration { /** * Updates the maximum age for snapshots optionally. */ max_snapshot_age?: string; /** * Updates the minimum number of snapshots to retain optionally. */ min_snapshots_to_keep?: number; /** * Updates the state optionally. */ state?: 'enabled' | 'disabled'; } } export interface MaintenanceConfigGetParams { /** * Use this to identify the account. */ account_id: string; } export declare namespace MaintenanceConfigs { export { type MaintenanceConfigUpdateResponse as MaintenanceConfigUpdateResponse, type MaintenanceConfigGetResponse as MaintenanceConfigGetResponse, type MaintenanceConfigUpdateParams as MaintenanceConfigUpdateParams, type MaintenanceConfigGetParams as MaintenanceConfigGetParams, }; } //# sourceMappingURL=maintenance-configs.d.ts.map