add prune jobs api
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
@ -3,7 +3,7 @@ use std::path::PathBuf;
|
||||
|
||||
use anyhow::Error;
|
||||
|
||||
use pbs_api_types::PruneOptions;
|
||||
use pbs_api_types::KeepOptions;
|
||||
|
||||
use super::BackupInfo;
|
||||
|
||||
@ -103,46 +103,10 @@ fn remove_incomplete_snapshots(mark: &mut HashMap<PathBuf, PruneMark>, list: &[B
|
||||
}
|
||||
}
|
||||
|
||||
pub fn cli_options_string(options: &PruneOptions) -> String {
|
||||
let mut opts = Vec::new();
|
||||
|
||||
if let Some(count) = options.keep_last {
|
||||
if count > 0 {
|
||||
opts.push(format!("--keep-last {}", count));
|
||||
}
|
||||
}
|
||||
if let Some(count) = options.keep_hourly {
|
||||
if count > 0 {
|
||||
opts.push(format!("--keep-hourly {}", count));
|
||||
}
|
||||
}
|
||||
if let Some(count) = options.keep_daily {
|
||||
if count > 0 {
|
||||
opts.push(format!("--keep-daily {}", count));
|
||||
}
|
||||
}
|
||||
if let Some(count) = options.keep_weekly {
|
||||
if count > 0 {
|
||||
opts.push(format!("--keep-weekly {}", count));
|
||||
}
|
||||
}
|
||||
if let Some(count) = options.keep_monthly {
|
||||
if count > 0 {
|
||||
opts.push(format!("--keep-monthly {}", count));
|
||||
}
|
||||
}
|
||||
if let Some(count) = options.keep_yearly {
|
||||
if count > 0 {
|
||||
opts.push(format!("--keep-yearly {}", count));
|
||||
}
|
||||
}
|
||||
|
||||
opts.join(" ")
|
||||
}
|
||||
|
||||
/// This filters incomplete and kept backups.
|
||||
pub fn compute_prune_info(
|
||||
mut list: Vec<BackupInfo>,
|
||||
options: &PruneOptions,
|
||||
options: &KeepOptions,
|
||||
) -> Result<Vec<(BackupInfo, PruneMark)>, Error> {
|
||||
let mut mark = HashMap::new();
|
||||
|
||||
|
Reference in New Issue
Block a user