mirror of
https://git.proxmox.com/git/vma-to-pbs
synced 2025-04-28 13:04:38 +00:00
add namespace support
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
b08ef85646
commit
e3ae976fd6
@ -16,6 +16,8 @@ Arguments:
|
||||
Options:
|
||||
--repository <auth_id@host:port:datastore>
|
||||
Repository URL
|
||||
[--ns <NAMESPACE>]
|
||||
Namespace
|
||||
--vmid <VMID>
|
||||
Backup ID
|
||||
--fingerprint <FINGERPRINT>
|
||||
@ -77,6 +79,7 @@ fn parse_args() -> Result<BackupVmaToPbsArgs, Error> {
|
||||
}
|
||||
|
||||
let pbs_repository = args.value_from_str("--repository")?;
|
||||
let namespace = args.opt_value_from_str("--ns")?;
|
||||
let vmid = args.value_from_str("--vmid")?;
|
||||
let fingerprint = args.opt_value_from_str("--fingerprint")?;
|
||||
let keyfile = args.opt_value_from_str("--keyfile")?;
|
||||
@ -160,6 +163,7 @@ fn parse_args() -> Result<BackupVmaToPbsArgs, Error> {
|
||||
let options = BackupVmaToPbsArgs {
|
||||
vma_file_path: vma_file_path.cloned(),
|
||||
pbs_repository,
|
||||
namespace,
|
||||
backup_id: vmid,
|
||||
pbs_password,
|
||||
keyfile,
|
||||
|
@ -24,6 +24,7 @@ const VMA_CLUSTER_SIZE: usize = 65536;
|
||||
pub struct BackupVmaToPbsArgs {
|
||||
pub vma_file_path: Option<OsString>,
|
||||
pub pbs_repository: String,
|
||||
pub namespace: Option<String>,
|
||||
pub backup_id: String,
|
||||
pub pbs_password: String,
|
||||
pub keyfile: Option<String>,
|
||||
@ -52,6 +53,9 @@ fn handle_pbs_error(pbs_err: *mut c_char, function_name: &str) -> Result<(), Err
|
||||
|
||||
fn create_pbs_backup_task(args: BackupVmaToPbsArgs) -> Result<*mut ProxmoxBackupHandle, Error> {
|
||||
println!("PBS repository: {}", args.pbs_repository);
|
||||
if let Some(ns) = &args.namespace {
|
||||
println!("PBS namespace: {}", ns);
|
||||
}
|
||||
println!("PBS fingerprint: {}", args.fingerprint);
|
||||
println!("compress: {}", args.compress);
|
||||
println!("encrypt: {}", args.encrypt);
|
||||
@ -62,6 +66,7 @@ fn create_pbs_backup_task(args: BackupVmaToPbsArgs) -> Result<*mut ProxmoxBackup
|
||||
let mut pbs_err: *mut c_char = ptr::null_mut();
|
||||
|
||||
let pbs_repository_cstr = CString::new(args.pbs_repository)?;
|
||||
let ns_cstr = CString::new(args.namespace.unwrap_or("".to_string()))?;
|
||||
let backup_id_cstr = CString::new(args.backup_id)?;
|
||||
let pbs_password_cstr = CString::new(args.pbs_password)?;
|
||||
let fingerprint_cstr = CString::new(args.fingerprint)?;
|
||||
@ -76,7 +81,7 @@ fn create_pbs_backup_task(args: BackupVmaToPbsArgs) -> Result<*mut ProxmoxBackup
|
||||
|
||||
let pbs = proxmox_backup_new_ns(
|
||||
pbs_repository_cstr.as_ptr(),
|
||||
ptr::null(),
|
||||
ns_cstr.as_ptr(),
|
||||
backup_id_cstr.as_ptr(),
|
||||
backup_time as u64,
|
||||
PROXMOX_BACKUP_DEFAULT_CHUNK_SIZE,
|
||||
|
Loading…
Reference in New Issue
Block a user