cloudflare
Version:
The official TypeScript library for the Cloudflare API
197 lines • 7.04 kB
TypeScript
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