[pbs-devel] [PATCH proxmox-api-types 1/2] generator: use proxmox_serde for perl helpers

Stefan Hanreich s.hanreich at proxmox.com
Tue May 13 12:14:57 CEST 2025


The helpers for parsing perl values have been moved to proxmox_serde,
update all references to proxmox_login. No functional changes.

Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
---
 Cargo.toml                                 |  2 +-
 pve-api-types/Cargo.toml                   |  2 +-
 pve-api-types/generator-lib/Schema2Rust.pm | 26 +++++++++++-----------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index 1bbdd01..1e119d3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -22,7 +22,7 @@ serde_plain = "1"
 serde_json = "1"
 
 proxmox-api-macro = "1.3"
-proxmox-login = "0.2"
+proxmox-serde = "0.1.2"
 proxmox-schema = "4"
 
 proxmox-client = "0.5"
diff --git a/pve-api-types/Cargo.toml b/pve-api-types/Cargo.toml
index 73cd3ef..e388cac 100644
--- a/pve-api-types/Cargo.toml
+++ b/pve-api-types/Cargo.toml
@@ -18,7 +18,7 @@ serde_json.workspace = true
 serde_plain.workspace = true
 #
 proxmox-api-macro.workspace = true
-proxmox-login.workspace = true
+proxmox-serde = { workspace = true, features = [ "perl" ] }
 proxmox-schema = { workspace = true, features = [ "api-types", "api-macro" ] }
 
 # For the client feature:
diff --git a/pve-api-types/generator-lib/Schema2Rust.pm b/pve-api-types/generator-lib/Schema2Rust.pm
index 009cf13..99a8fd6 100644
--- a/pve-api-types/generator-lib/Schema2Rust.pm
+++ b/pve-api-types/generator-lib/Schema2Rust.pm
@@ -1127,18 +1127,18 @@ my sub array_type : prototype($$$) {
 }
 
 my %serde_num = (
-    usize => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_usize")]',
-    isize => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_isize")]',
-    u8 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u8")]',
-    u16 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u16")]',
-    u32 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u32")]',
-    u64 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u64")]',
-    i8 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i8")]',
-    i16 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i16")]',
-    i32 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i32")]',
-    i64 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i64")]',
-    f32 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_f32")]',
-    f64 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_f64")]',
+    usize => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_usize")]',
+    isize => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_isize")]',
+    u8 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u8")]',
+    u16 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u16")]',
+    u32 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u32")]',
+    u64 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u64")]',
+    i8 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i8")]',
+    i16 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i16")]',
+    i32 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i32")]',
+    i64 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i64")]',
+    f32 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_f32")]',
+    f64 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_f64")]',
 );
 
 sub handle_def : prototype($$$) {
@@ -1169,7 +1169,7 @@ sub handle_def : prototype($$$) {
     } elsif ($type eq 'boolean') {
         $def->{type} = 'bool';
         push $def->{attrs}->@*,
-            "#[serde(deserialize_with = \"proxmox_login::parse::deserialize_bool\")]";
+            "#[serde(deserialize_with = \"proxmox_serde::perl::deserialize_bool\")]";
         $def->{api}->{default} = bool(delete $schema->{default});
     } elsif ($type eq 'number') {
         $def->{api}->{default} = delete $schema->{default};
-- 
2.39.5




More information about the pbs-devel mailing list