use futures::*;
use crate::tools;
+use crate::api2::types::*;
use crate::api_schema::*;
use crate::api_schema::router::*;
//use crate::server::rest::*;
download_file,
ObjectSchema::new("Download single raw file from backup snapshot.")
.required("store", StringSchema::new("Datastore name."))
- .required("backup-type", StringSchema::new("Backup type.")
- .format(Arc::new(ApiStringFormat::Enum(&["ct", "host"]))))
- .required("backup-id", StringSchema::new("Backup ID."))
- .required("backup-time", IntegerSchema::new("Backup time (Unix epoch.)")
- .minimum(1547797308))
- .required("file-name", StringSchema::new("Raw file name."))
+ .required("backup-type", BACKUP_TYPE_SCHEMA.clone())
+ .required("backup-id", BACKUP_ID_SCHEMA.clone())
+ .required("backup-time", BACKUP_TIME_SCHEMA.clone())
+ .required("file-name", StringSchema::new("Raw file name.").format(FILENAME_FORMAT.clone()))
)
}
upload_backup_log,
ObjectSchema::new("Download single raw file from backup snapshot.")
.required("store", StringSchema::new("Datastore name."))
- .required("backup-type", StringSchema::new("Backup type.")
- .format(Arc::new(ApiStringFormat::Enum(&["ct", "host"]))))
- .required("backup-id", StringSchema::new("Backup ID."))
- .required("backup-time", IntegerSchema::new("Backup time (Unix epoch.)")
- .minimum(1547797308))
+ .required("backup-type", BACKUP_TYPE_SCHEMA.clone())
+ .required("backup-id", BACKUP_ID_SCHEMA.clone())
+ .required("backup-time", BACKUP_TIME_SCHEMA.clone())
)
}
list_snapshot_files,
ObjectSchema::new("List snapshot files.")
.required("store", store_schema.clone())
- .required("backup-type", StringSchema::new("Backup type."))
- .required("backup-id", StringSchema::new("Backup ID."))
- .required("backup-time", IntegerSchema::new("Backup time (Unix epoch.)")
- .minimum(1547797308))
+ .required("backup-type", BACKUP_TYPE_SCHEMA.clone())
+ .required("backup-id", BACKUP_ID_SCHEMA.clone())
+ .required("backup-time", BACKUP_TIME_SCHEMA.clone())
)
)
)
list_snapshots,
ObjectSchema::new("List backup groups.")
.required("store", store_schema.clone())
- .optional("backup-type", StringSchema::new("Backup type."))
- .optional("backup-id", StringSchema::new("Backup ID."))
+ .optional("backup-type", BACKUP_TYPE_SCHEMA.clone())
+ .optional("backup-id", BACKUP_ID_SCHEMA.clone())
)
)
.delete(
delete_snapshots,
ObjectSchema::new("Delete backup snapshot.")
.required("store", store_schema.clone())
- .required("backup-type", StringSchema::new("Backup type."))
- .required("backup-id", StringSchema::new("Backup ID."))
- .required("backup-time", IntegerSchema::new("Backup time (Unix epoch.)")
- .minimum(1547797308))
- )
+ .required("backup-type", BACKUP_TYPE_SCHEMA.clone())
+ .required("backup-id", BACKUP_ID_SCHEMA.clone())
+ .required("backup-time", BACKUP_TIME_SCHEMA.clone())
+ )
)
)
.subdir(
use failure::*;
use lazy_static::lazy_static;
-use std::sync::Arc;
+//use std::sync::Arc;
use futures::*;
use hyper::header::{HeaderValue, UPGRADE};
upgrade_to_backup_protocol,
ObjectSchema::new(concat!("Upgraded to backup protocol ('", PROXMOX_BACKUP_PROTOCOL_ID_V1!(), "')."))
.required("store", StringSchema::new("Datastore name."))
- .required("backup-type", StringSchema::new("Backup type.")
- .format(Arc::new(ApiStringFormat::Enum(&["vm", "ct", "host"]))))
- .required("backup-id", StringSchema::new("Backup ID."))
- .required("backup-time", IntegerSchema::new("Backup time (Unix epoch.)")
- .minimum(1547797308))
+ .required("backup-type", BACKUP_TYPE_SCHEMA.clone())
+ .required("backup-id", BACKUP_ID_SCHEMA.clone())
+ .required("backup-time", BACKUP_TIME_SCHEMA.clone())
.optional("debug", BooleanSchema::new("Enable verbose debug logging."))
)
}
use proxmox_backup::tools;
use proxmox_backup::cli::*;
+use proxmox_backup::api2::types::*;
use proxmox_backup::api_schema::*;
use proxmox_backup::api_schema::router::*;
use proxmox_backup::client::*;
let keyfile = param["keyfile"].as_str().map(|p| PathBuf::from(p));
- let backup_id = param["host-id"].as_str().unwrap_or(&tools::nodename());
+ let backup_id = param["backup-id"].as_str().unwrap_or(&tools::nodename());
- let backup_type = "host";
+ let backup_type = param["backup-type"].as_str().unwrap_or("host");
let include_dev = param["include-dev"].as_array();
"skip-lost-and-found",
BooleanSchema::new("Skip lost+found directory").default(false))
.optional(
- "host-id",
- StringSchema::new("Use specified ID for the backup group name ('host/<id>'). The default is the system hostname."))
+ "backup-type",
+ BACKUP_TYPE_SCHEMA.clone()
+ )
+ .optional(
+ "backup-id",
+ BACKUP_ID_SCHEMA.clone()
+ )
.optional(
"backup-time",
- IntegerSchema::new("Backup time (Unix epoch.)")
- .minimum(1547797308)
+ BACKUP_TIME_SCHEMA.clone()
)
.optional(
"chunk-size",