]> git.proxmox.com Git - proxmox-backup.git/commitdiff
cleanup: move scan changers API implementation
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 27 Jan 2021 08:58:16 +0000 (09:58 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 27 Jan 2021 08:58:16 +0000 (09:58 +0100)
src/api2.rs
src/api2/tape/changer.rs
src/api2/tape/mod.rs
src/bin/proxmox_tape/changer.rs

index 4783df63e1e1e983f81f4986ee3557c63ca084db..b7230f75d9bda33898f03ace49b2f54f62657361 100644 (file)
@@ -1,3 +1,5 @@
+//! The Proxmox Backup Server API
+
 pub mod access;
 pub mod admin;
 pub mod backup;
@@ -18,7 +20,7 @@ use proxmox::list_subdirs_api_method;
 
 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),
index 03e92a0e502d21cb4580ddd0c2d6870ba1651cda..8239e041b364aa01df29bad1508321a7036dc88b 100644 (file)
@@ -12,7 +12,6 @@ use crate::{
         CHANGER_NAME_SCHEMA,
         DriveListEntry,
         ScsiTapeChanger,
-        TapeDeviceInfo,
         MtxStatusEntry,
         MtxEntryKind,
     },
@@ -137,26 +136,6 @@ pub async fn transfer(
     }).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: {},
index 6fbf902a3b7385fb1f07f5f183c265bb154fcc57..05cdb693c601f945fac7a2b47a29ade42ed788a4 100644 (file)
@@ -1,8 +1,21 @@
 //! 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;
@@ -10,7 +23,27 @@ pub mod media;
 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),
@@ -19,7 +52,7 @@ pub const SUBDIRS: SubdirMap = &[
     (
         "scan-changers",
         &Router::new()
-            .get(&changer::API_METHOD_SCAN_CHANGERS),
+            .get(&API_METHOD_SCAN_CHANGERS),
     ),
 ];
 
index 0479771ee04f432e2be451532bed68fa395dcfc2..e3bb7bb32e3105a23858cc43a9fea36c274e3550 100644 (file)
@@ -149,7 +149,7 @@ fn scan_for_changers(
 ) -> Result<(), Error> {
 
     let output_format = get_output_format(&param);
-    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!(),