[pdm-devel] [PATCH datacenter-manager 02/11] server: api: pbs: add status api call
Dominik Csapak
d.csapak at proxmox.com
Fri Sep 26 09:20:22 CEST 2025
Corresponds to /nodes/localhost/status api call on the pbs side.
Since we only have one node per PBS remote, we don't need to have a
'nodes' path here.
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
server/src/api/pbs/mod.rs | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/server/src/api/pbs/mod.rs b/server/src/api/pbs/mod.rs
index 4473c6c8..1250c490 100644
--- a/server/src/api/pbs/mod.rs
+++ b/server/src/api/pbs/mod.rs
@@ -39,6 +39,7 @@ pub const MAIN_ROUTER: Router = Router::new()
#[sortable]
const REMOTE_SUBDIRS: SubdirMap = &sorted!([
+ ("status", &Router::new().get(&API_METHOD_GET_STATUS)),
("rrddata", &rrddata::PBS_NODE_RRD_ROUTER),
("datastore", &DATASTORE_ROUTER)
]);
@@ -233,3 +234,20 @@ pub async fn scan_remote_pbs(
Ok(remote)
}
+
+#[api(
+ input: {
+ properties: {
+ remote: { schema: REMOTE_ID_SCHEMA },
+ },
+ },
+ access: {
+ permission: &Permission::Privilege(&["resource", "{remote}", "node", "{node}"], PRIV_RESOURCE_AUDIT, false),
+ },
+)]
+/// Get status for the PBS remote
+async fn get_status(remote: String) -> Result<pbs_api_types::NodeStatus, Error> {
+ let (remotes, _) = pdm_config::remotes::config()?;
+ let remote = get_remote(&remotes, &remote)?;
+ Ok(connection::make_pbs_client(remote)?.node_status().await?)
+}
--
2.47.3
More information about the pdm-devel
mailing list