[pbs-devel] [PATCH proxmox v3 1/1] pbs-api-types: add 'unmount-on-done' field to sync job config

Hannes Laimer h.laimer at proxmox.com
Wed Nov 12 13:05:11 CET 2025


Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
---
 pbs-api-types/src/jobs.rs | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/pbs-api-types/src/jobs.rs b/pbs-api-types/src/jobs.rs
index 4dbbef2b..2e3c1c62 100644
--- a/pbs-api-types/src/jobs.rs
+++ b/pbs-api-types/src/jobs.rs
@@ -538,6 +538,9 @@ pub const SYNC_VERIFIED_ONLY_SCHEMA: Schema =
     BooleanSchema::new("Only synchronize verified backup snapshots, exclude others.").schema();
 pub const RUN_SYNC_ON_MOUNT_SCHEMA: Schema =
     BooleanSchema::new("Run this job when a relevant datastore is mounted.").schema();
+pub const UNMOUNT_ON_SYNC_DONE_SCHEMA: Schema =
+    BooleanSchema::new("Unmount involved removable datastore after the sync job finishes. Requires 'run-on-mount' to be enabled.")
+        .schema();
 
 #[api(
     properties: {
@@ -609,6 +612,10 @@ pub const RUN_SYNC_ON_MOUNT_SCHEMA: Schema =
             schema: RUN_SYNC_ON_MOUNT_SCHEMA,
             optional: true,
         },
+        "unmount-on-done": {
+            schema: UNMOUNT_ON_SYNC_DONE_SCHEMA,
+            optional: true,
+        },
         "sync-direction": {
             type: SyncDirection,
             optional: true,
@@ -655,6 +662,8 @@ pub struct SyncJobConfig {
     #[serde(skip_serializing_if = "Option::is_none")]
     pub run_on_mount: Option<bool>,
     #[serde(skip_serializing_if = "Option::is_none")]
+    pub unmount_on_done: Option<bool>,
+    #[serde(skip_serializing_if = "Option::is_none")]
     pub sync_direction: Option<SyncDirection>,
 }
 
-- 
2.47.3





More information about the pbs-devel mailing list