UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

197 lines • 7.04 kB
import { APIResource } from "../../core/resource.js"; import { APIPromise } from "../../core/api-promise.js"; import { RequestOptions } from "../../internal/request-options.js"; export declare class BaseMaintenanceConfigs extends APIResource { static readonly _key: readonly ['r2DataCatalog', 'maintenanceConfigs']; /** * Update the maintenance configuration for a catalog. This allows you to enable or * disable compaction and adjust target file sizes for optimization. * * @deprecated Use `POST /accounts/{account_id}/basin-catalog/{bucket_name}/maintenance-configs` instead. */ update(bucketName: string, params: MaintenanceConfigUpdateParams, options?: RequestOptions): APIPromise<MaintenanceConfigUpdateResponse>; /** * Retrieve the maintenance configuration for a specific catalog, including * compaction settings and credential status. * * @deprecated Use `GET /accounts/{account_id}/basin-catalog/{bucket_name}/maintenance-configs` instead. */ get(bucketName: string, params: MaintenanceConfigGetParams, options?: RequestOptions): APIPromise<MaintenanceConfigGetResponse>; } export declare class MaintenanceConfigs extends BaseMaintenanceConfigs { } /** * Configures maintenance for the catalog. */ export interface MaintenanceConfigUpdateResponse { /** * Configures compaction for catalog maintenance. */ compaction?: MaintenanceConfigUpdateResponse.Compaction; /** * Scheduling interval between normal table maintenance runs. */ interval?: string; /** * Configures snapshot expiration settings. */ snapshot_expiration?: MaintenanceConfigUpdateResponse.SnapshotExpiration; } export declare namespace MaintenanceConfigUpdateResponse { /** * Configures compaction for catalog maintenance. */ 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: <number><unit> 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 maintenance configuration and credential status. */ export interface MaintenanceConfigGetResponse { /** * Shows the credential configuration status. */ credential_status: 'present' | 'absent'; /** * Configures maintenance for the catalog. */ maintenance_config: MaintenanceConfigGetResponse.MaintenanceConfig; } export declare namespace MaintenanceConfigGetResponse { /** * Configures maintenance for the catalog. */ interface MaintenanceConfig { /** * Configures compaction for catalog maintenance. */ compaction?: MaintenanceConfig.Compaction; /** * Scheduling interval between normal table maintenance runs. */ interval?: string; /** * Configures snapshot expiration settings. */ snapshot_expiration?: MaintenanceConfig.SnapshotExpiration; } namespace MaintenanceConfig { /** * Configures compaction for catalog maintenance. */ 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: <number><unit> 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: Identifies 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 { /** * 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'; } /** * 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; /** * Specifies the state of maintenance operations. */ state?: 'enabled' | 'disabled'; } } export interface MaintenanceConfigGetParams { /** * Identifies 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