+//! The Proxmox Backup Server API
+
pub mod access;
pub mod admin;
pub mod backup;
const NODES_ROUTER: Router = Router::new().match_all("node", &node::ROUTER);
-pub const SUBDIRS: SubdirMap = &[
+const SUBDIRS: SubdirMap = &[
("access", &access::ROUTER),
("admin", &admin::ROUTER),
("backup", &backup::ROUTER),
CHANGER_NAME_SCHEMA,
DriveListEntry,
ScsiTapeChanger,
- TapeDeviceInfo,
MtxStatusEntry,
MtxEntryKind,
},
}).await?
}
-#[api(
- input: {
- properties: {},
- },
- returns: {
- description: "The list of autodetected tape changers.",
- type: Array,
- items: {
- type: TapeDeviceInfo,
- },
- },
-)]
-/// Scan for SCSI tape changers
-pub fn scan_changers(_param: Value) -> Result<Vec<TapeDeviceInfo>, Error> {
-
- let list = linux_tape_changer_list();
-
- Ok(list)
-}
-
#[api(
input: {
properties: {},
//! Tape Backup Management
-use proxmox::api::router::SubdirMap;
-use proxmox::api::Router;
-use proxmox::list_subdirs_api_method;
+use anyhow::Error;
+use serde_json::Value;
+
+use proxmox::{
+ api::{
+ api,
+ router::SubdirMap,
+ Router,
+ },
+ list_subdirs_api_method,
+};
+
+use crate::{
+ api2::types::TapeDeviceInfo,
+ tape::linux_tape_changer_list,
+};
pub mod drive;
pub mod changer;
pub mod backup;
pub mod restore;
-pub const SUBDIRS: SubdirMap = &[
+#[api(
+ input: {
+ properties: {},
+ },
+ returns: {
+ description: "The list of autodetected tape changers.",
+ type: Array,
+ items: {
+ type: TapeDeviceInfo,
+ },
+ },
+)]
+/// Scan for SCSI tape changers
+pub fn scan_changers(_param: Value) -> Result<Vec<TapeDeviceInfo>, Error> {
+
+ let list = linux_tape_changer_list();
+
+ Ok(list)
+}
+
+const SUBDIRS: SubdirMap = &[
("backup", &backup::ROUTER),
("changer", &changer::ROUTER),
("drive", &drive::ROUTER),
(
"scan-changers",
&Router::new()
- .get(&changer::API_METHOD_SCAN_CHANGERS),
+ .get(&API_METHOD_SCAN_CHANGERS),
),
];
) -> Result<(), Error> {
let output_format = get_output_format(¶m);
- let info = &api2::tape::changer::API_METHOD_SCAN_CHANGERS;
+ let info = &api2::tape::API_METHOD_SCAN_CHANGERS;
let mut data = match info.handler {
ApiHandler::Sync(handler) => (handler)(param, info, rpcenv)?,
_ => unreachable!(),