cloudflare
Version:
The official TypeScript library for the Cloudflare API
222 lines • 7.6 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 ['basinCatalog', 'maintenanceConfigs'];
/**
* Update the maintenance configuration for a catalog. This allows you to enable or
* disable compaction and adjust target file sizes for optimization.
*
* @example
* ```ts
* const maintenanceConfig =
* await client.basinCatalog.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',
* },
* },
* );
* ```
*/
update(bucketName: string, params: MaintenanceConfigUpdateParams, options?: RequestOptions): APIPromise<MaintenanceConfigUpdateResponse>;
/**
* Retrieve the maintenance configuration for a specific catalog, including
* compaction settings and credential status.
*
* @example
* ```ts
* const maintenanceConfig =
* await client.basinCatalog.maintenanceConfigs.get(
* 'my-data-bucket',
* { account_id: '0123456789abcdef0123456789abcdef' },
* );
* ```
*/
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