[pdm-devel] [PATCH datacenter-manager 1/7] pdm-api-types: add pve storage id schema

Dominik Csapak d.csapak at proxmox.com
Mon Sep 8 16:04:12 CEST 2025


regex is copied from pve-api-types definition

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 lib/pdm-api-types/src/lib.rs | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/pdm-api-types/src/lib.rs b/lib/pdm-api-types/src/lib.rs
index 6cc4b6f..a7eaa0d 100644
--- a/lib/pdm-api-types/src/lib.rs
+++ b/lib/pdm-api-types/src/lib.rs
@@ -112,6 +112,9 @@ const_regex! {
     pub HOST_OPTIONAL_PORT_REGEX = concatcp!(r"^(?:", DNS_NAME_STR, "|", IPRE_BRACKET_STR, ")(?::", PORT_REGEX_STR ,")?$");
 
     pub SUBSCRIPTION_KEY_REGEX = concat!(r"^pbs(?:[cbsp])-[0-9a-f]{10}$");
+
+    // FIXME: use from pve-api-types once exposed
+    pub PVE_STORAGE_ID_REGEX = r"^(?i:[a-z][a-z0-9\-_.]*[a-z0-9])$";
 }
 
 pub const BLOCKDEVICE_NAME_FORMAT: ApiStringFormat =
@@ -164,6 +167,10 @@ pub const EMAIL_SCHEMA: Schema = StringSchema::new("E-Mail Address.")
     .max_length(64)
     .schema();
 
+pub const PVE_STORAGE_ID_SCHEMA: Schema = StringSchema::new("Storage ID.")
+    .format(&ApiStringFormat::Pattern(&PVE_STORAGE_ID_REGEX))
+    .schema();
+
 // Complex type definitions
 
 #[api()]
-- 
2.47.2





More information about the pdm-devel mailing list