]> git.proxmox.com Git - proxmox-backup.git/blob - src/bin/pbs.rs
install backup-client binary
[proxmox-backup.git] / src / bin / pbs.rs
1 extern crate apitest;
2
3 use std::collections::HashMap;
4
5 use apitest::api3;
6 use apitest::cli::command::*;
7
8 fn datastore_commands() -> CommandLineInterface {
9
10 use apitest::api3::config::datastore;
11
12 let cmd_def = CliCommandMap::new()
13 .insert("list", CliCommand::new(datastore::get()).into())
14 .insert("create",
15 CliCommand::new(datastore::post())
16 .arg_param(vec!["name", "path"])
17 .into())
18 .insert("remove",
19 CliCommand::new(datastore::delete())
20 .arg_param(vec!["name"])
21 .completion_cb("name", apitest::config::datastore::complete_datastore_name)
22 .into());
23
24 cmd_def.into()
25 }
26
27 fn main() {
28
29 let cmd_def = CliCommandMap::new()
30 .insert("datastore".to_owned(), datastore_commands());
31
32 if let Err(err) = run_cli_command(&cmd_def.into()) {
33 eprintln!("Error: {}", err);
34 print_cli_usage();
35 std::process::exit(-1);
36 }
37
38 }