[pbs-devel] applied: [PATCH backup] client: adapt to change datastroe status return schema

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Oct 28 23:04:18 CET 2020


fixes commit 16f9f244cfc19f021afa193929f40441434f0349 which extended
the return schema of the status API but did not adapted the client
status command to that.

Simply define our own tiny return schema and use that.

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---

now that I see this I think that extension of that return schema from
commit 16f9f244cfc19f021afa193929f40441434f0349 was not that nice, and
feels a bit thrown together.

Maybe we want a pure "usage only" call and a more elaborate status like
call with that information and maybe even more?

pushing this out anyway for now as is to unbreak the client status
command and this the PVE storage plugin

 src/bin/proxmox-backup-client.rs | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/bin/proxmox-backup-client.rs b/src/bin/proxmox-backup-client.rs
index 4bb05bd1..beaa935e 100644
--- a/src/bin/proxmox-backup-client.rs
+++ b/src/bin/proxmox-backup-client.rs
@@ -1657,7 +1657,10 @@ async fn prune_async(mut param: Value) -> Result<Value, Error> {
                optional: true,
            },
        }
-   }
+   },
+    returns: {
+        type: StorageStatus,
+    },
 )]
 /// Get repository status.
 async fn status(param: Value) -> Result<Value, Error> {
@@ -1671,7 +1674,7 @@ async fn status(param: Value) -> Result<Value, Error> {
     let path = format!("api2/json/admin/datastore/{}/status", repo.store());
 
     let mut result = client.get(&path, None).await?;
-    let mut data = result["data"].take();
+    let mut data = result["data"]["storage"].take();
 
     record_repository(&repo);
 
@@ -1690,7 +1693,7 @@ async fn status(param: Value) -> Result<Value, Error> {
         .column(ColumnConfig::new("used").renderer(render_total_percentage))
         .column(ColumnConfig::new("avail").renderer(render_total_percentage));
 
-    let schema = &proxmox_backup::api2::admin::datastore::API_RETURN_SCHEMA_STATUS;
+    let schema = &API_RETURN_SCHEMA_STATUS;
 
     format_and_print_result_full(&mut data, schema, &output_format, &options);
 
-- 
2.27.0






More information about the pbs-devel mailing list