use proxmox_schema::api;
use proxmox_router::{ApiMethod, Router, RpcEnvironment, Permission};
+use proxmox_sys::task_log;
use pbs_api_types::{
- Authid, SyncJobConfig, GroupFilter, GROUP_FILTER_LIST_SCHEMA,
+ Authid, SyncJobConfig, GroupFilter, RateLimitConfig, GROUP_FILTER_LIST_SCHEMA,
DATASTORE_SCHEMA, REMOTE_ID_SCHEMA, REMOVE_VANISHED_BACKUPS_SCHEMA,
PRIV_DATASTORE_BACKUP, PRIV_DATASTORE_PRUNE, PRIV_REMOTE_READ,
};
-use pbs_tools::task_log;
use proxmox_rest_server::WorkerTask;
use pbs_config::CachedUserInfo;
&sync_job.remote_store,
sync_job.owner.as_ref().unwrap_or_else(|| Authid::root_auth_id()).clone(),
sync_job.remove_vanished,
- sync_job.groups.clone(),
+ sync_job.group_filter.clone(),
+ sync_job.limit.clone(),
)
}
}
schema: REMOVE_VANISHED_BACKUPS_SCHEMA,
optional: true,
},
- "groups": {
+ "group-filter": {
schema: GROUP_FILTER_LIST_SCHEMA,
optional: true,
},
+ limit: {
+ type: RateLimitConfig,
+ flatten: true,
+ }
},
},
access: {
remote: String,
remote_store: String,
remove_vanished: Option<bool>,
- groups: Option<Vec<GroupFilter>>,
+ group_filter: Option<Vec<GroupFilter>>,
+ limit: RateLimitConfig,
_info: &ApiMethod,
rpcenv: &mut dyn RpcEnvironment,
) -> Result<String, Error> {
let auth_id: Authid = rpcenv.get_auth_id().unwrap().parse()?;
- let delete = remove_vanished.unwrap_or(true);
+ let delete = remove_vanished.unwrap_or(false);
check_pull_privs(&auth_id, &store, &remote, &remote_store, delete)?;
&remote_store,
auth_id.clone(),
remove_vanished,
- groups,
+ group_filter,
+ limit,
)?;
let client = pull_params.client().await?;