[pdm-devel] [PATCH datacenter-manager v3 17/19] pdm-api-types: extend resources by properties string generator method
Christian Ebner
c.ebner at proxmox.com
Tue Oct 21 13:11:27 CEST 2025
Generates a list of comma separated values of properties to be
matched by the search functionality.
This will allow to define several properties on a resource which one
can match against. The current usecase is to match PBS datastores
based on properties such as if it is a removable datastore, if the
datastore has high usage or if the datastore is backed by S3.
Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
Changes since version 2:
- not present in previous version
lib/pdm-api-types/src/resource.rs | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/lib/pdm-api-types/src/resource.rs b/lib/pdm-api-types/src/resource.rs
index 7f74bf5..390e697 100644
--- a/lib/pdm-api-types/src/resource.rs
+++ b/lib/pdm-api-types/src/resource.rs
@@ -107,6 +107,22 @@ impl Resource {
}
}
}
+
+ pub fn properties(&self) -> String {
+ let mut properties = Vec::new();
+ if let Resource::PbsDatastore(r) = self {
+ if let Some(backend_type) = &r.backend_type {
+ properties.push(backend_type.to_string());
+ }
+ if r.backing_device.is_some() {
+ properties.push("removable".to_string());
+ }
+ if r.usage > PBS_DATASTORE_HIGH_USAGE_THRESHOLD {
+ properties.push("high-usage".to_string());
+ }
+ }
+ properties.join(",")
+ }
}
#[api]
--
2.47.3
More information about the pdm-devel
mailing list