From cad63ecf20ca429def720fe6dc1b522fd8b2c82e Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Sun, 12 Jan 2025 14:06:30 -0500 Subject: [PATCH] fix(config): specify attribute argument in yaserde macros Update yaserde macro usage to explicitly specify the `attribute` argument for consistency and compatibility with newer versions of the yaserde crate. This change ensures that all fields annotated with `#[yaserde]` correctly define attributes, aligning with the recommended usage in the latest yaserde documentation. --- .../opnsense-config-xml/src/data/haproxy.rs | 18 ++-- .../opnsense-config-xml/src/data/opnsense.rs | 98 +++++++++---------- 2 files changed, 59 insertions(+), 57 deletions(-) diff --git a/harmony-rs/opnsense-config-xml/src/data/haproxy.rs b/harmony-rs/opnsense-config-xml/src/data/haproxy.rs index 5c1eeab..e38d200 100644 --- a/harmony-rs/opnsense-config-xml/src/data/haproxy.rs +++ b/harmony-rs/opnsense-config-xml/src/data/haproxy.rs @@ -7,8 +7,10 @@ use yaserde::{YaDeserialize as YaDeserializeTrait, YaSerialize as YaSerializeTra use yaserde_derive::{YaDeserialize, YaSerialize}; impl YaDeserializeTrait for HAProxyId { - fn deserialize(reader: &mut yaserde::de::Deserializer) -> Result { - let field_name = match reader.peek()? { + fn deserialize( + reader: &mut yaserde::de::Deserializer, + ) -> Result { + let _field_name = match reader.peek()? { ReadEvent::StartElement { name, attributes, .. } => { @@ -26,7 +28,7 @@ impl YaDeserializeTrait for HAProxyId { let content = match reader.peek()? { ReadEvent::Characters(content) => content.clone(), - ReadEvent::EndElement { name } => String::new(), + ReadEvent::EndElement { name: _ } => String::new(), _ => return Err(String::from("Unsupporte ReadEvent type")), }; @@ -89,7 +91,7 @@ impl Default for HAProxyId { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] #[yaserde(rename = "HAProxy")] pub struct HAProxy { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub general: HaProxyGeneral, pub frontends: HAProxyFrontends, @@ -298,7 +300,7 @@ pub struct HAProxyFrontends { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Frontend { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, pub id: HAProxyId, pub enabled: i32, @@ -417,7 +419,7 @@ pub struct HAProxyBackends { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct HAProxyBackend { - #[yaserde(attribute, rename = "uuid")] + #[yaserde(attribute = true, rename = "uuid")] pub uuid: String, #[yaserde(rename = "id")] pub id: HAProxyId, @@ -536,7 +538,7 @@ pub struct HAProxyServers { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct HAProxyServer { - #[yaserde(attribute, rename = "uuid")] + #[yaserde(attribute = true, rename = "uuid")] pub uuid: String, pub id: HAProxyId, pub enabled: u8, @@ -590,7 +592,7 @@ pub struct HAProxyHealthChecks { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct HAProxyHealthCheck { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, pub name: String, pub description: MaybeString, diff --git a/harmony-rs/opnsense-config-xml/src/data/opnsense.rs b/harmony-rs/opnsense-config-xml/src/data/opnsense.rs index 797a2a7..869c612 100644 --- a/harmony-rs/opnsense-config-xml/src/data/opnsense.rs +++ b/harmony-rs/opnsense-config-xml/src/data/opnsense.rs @@ -115,7 +115,7 @@ pub struct Filters { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Rule { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: Option, #[yaserde(rename = "associated-rule-id")] pub associated_rule_id: Option, @@ -252,7 +252,7 @@ pub struct Ssh { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Firmware { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub mirror: MaybeString, pub flavour: MaybeString, @@ -401,7 +401,7 @@ pub struct Created { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Filter { - #[yaserde(attribute)] + #[yaserde(attribute = true)] version: String, rules: Option, snatrules: Option, @@ -463,7 +463,7 @@ pub struct Tftp { #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct TftpGeneral { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub enabled: u8, pub listen: String, @@ -472,7 +472,7 @@ pub struct TftpGeneral { #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] #[yaserde(rename = "IDS")] pub struct IDS { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub rules: MaybeString, pub policies: MaybeString, @@ -521,7 +521,7 @@ pub struct Detect { #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct IPsec { - #[yaserde(attribute)] + #[yaserde(attribute = true)] version: String, general: GeneralIpsec, #[yaserde(rename = "keyPairs")] @@ -549,26 +549,26 @@ pub struct ConfigInterfaces { #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct Neighbors { - #[yaserde(attribute)] + #[yaserde(attribute = true)] version: String, } #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct Vxlan { - #[yaserde(attribute)] + #[yaserde(attribute = true)] version: String, } #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct Loopback { - #[yaserde(attribute)] + #[yaserde(attribute = true)] version: String, } #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] #[yaserde(rename = "monit")] pub struct Monit { - #[yaserde(attribute)] + #[yaserde(attribute = true)] version: String, general: GeneralMonit, alert: Option, @@ -614,7 +614,7 @@ pub struct GeneralMonit { #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct Alert { - #[yaserde(attribute)] + #[yaserde(attribute = true)] uuid: String, enabled: u8, recipient: String, @@ -627,7 +627,7 @@ pub struct Alert { #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct Service { - #[yaserde(attribute)] + #[yaserde(attribute = true)] uuid: String, enabled: u8, name: String, @@ -651,7 +651,7 @@ pub struct Service { #[derive(Debug, YaSerialize, YaDeserialize, PartialEq)] pub struct Test { - #[yaserde(attribute)] + #[yaserde(attribute = true)] uuid: String, name: String, #[yaserde(rename = "type")] @@ -663,7 +663,7 @@ pub struct Test { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct CaptivePortal { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "zones")] pub zones: Option, @@ -673,7 +673,7 @@ pub struct CaptivePortal { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Cron { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "jobs")] pub jobs: Option, @@ -681,7 +681,7 @@ pub struct Cron { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Netflow { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "capture")] pub capture: Option, @@ -720,7 +720,7 @@ pub struct Zones { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Zone { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: MaybeString, #[yaserde(rename = "name")] pub name: MaybeString, @@ -736,7 +736,7 @@ pub struct Templates { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Template { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: MaybeString, #[yaserde(rename = "name")] pub name: MaybeString, @@ -752,7 +752,7 @@ pub struct Jobs { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Job { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: MaybeString, #[yaserde(rename = "name")] pub name: MaybeString, @@ -768,7 +768,7 @@ pub struct Targets { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Target { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: MaybeString, #[yaserde(rename = "name")] pub name: MaybeString, @@ -789,7 +789,7 @@ pub struct Firewall { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct LvTemplate { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "templates")] pub templates: Option, @@ -797,7 +797,7 @@ pub struct LvTemplate { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Category { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "categories")] pub categories: Option, @@ -811,7 +811,7 @@ pub struct Categories { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct CategoryItem { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, #[yaserde(rename = "name")] pub name: MaybeString, @@ -823,7 +823,7 @@ pub struct CategoryItem { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Alias { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "geoip")] pub geoip: Option, @@ -845,7 +845,7 @@ pub struct Aliases { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct AliasItem { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, pub enabled: String, pub name: String, @@ -862,7 +862,7 @@ pub struct AliasItem { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct OpenVPNExport { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub servers: Option, } @@ -873,7 +873,7 @@ pub struct Servers {} #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] #[yaserde(rename = "proxy")] pub struct Proxy { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub general: ConfigGeneral, pub forward: Forward, @@ -1069,7 +1069,7 @@ pub struct ErrorPages { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct ConfigSyslog { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub general: SyslogGeneral, pub destinations: MaybeString, @@ -1085,7 +1085,7 @@ pub struct SyslogGeneral { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct UnboundPlus { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub general: UnboundGeneral, pub advanced: Advanced, @@ -1196,7 +1196,7 @@ pub struct Hosts { #[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Host { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, pub enabled: i8, pub hostname: String, @@ -1233,14 +1233,14 @@ pub struct Wireguard { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct WireguardGeneral { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub enabled: i32, } #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct WireguardServer { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub servers: WireguardServerList, } @@ -1252,7 +1252,7 @@ pub struct WireguardServerList { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct WireguardServerItem { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, pub enabled: i32, pub name: String, @@ -1273,7 +1273,7 @@ pub struct WireguardServerItem { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct WireguardClient { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub clients: WireguardClientList, } @@ -1285,7 +1285,7 @@ pub struct WireguardClientList { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct WireguardClientItem { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, pub enabled: i32, pub name: String, @@ -1299,7 +1299,7 @@ pub struct WireguardClientItem { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Swanctl { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "Connections")] pub connections: MaybeString, @@ -1317,7 +1317,7 @@ pub struct Swanctl { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] #[yaserde(rename = "DynDNS")] pub struct DynDNS { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub general: DynDNSGeneral, pub accounts: Accounts, @@ -1340,7 +1340,7 @@ pub struct Accounts { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Account { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: String, pub enabled: i32, pub service: String, @@ -1365,7 +1365,7 @@ pub struct Account { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct ConfigOpenVPN { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "Overwrites")] pub Overwrites: MaybeString, @@ -1377,7 +1377,7 @@ pub struct ConfigOpenVPN { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct StaticRoutes { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "route")] pub route: Option, @@ -1388,7 +1388,7 @@ pub struct Ca {} #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Cert { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: Option, pub refid: String, pub descr: String, @@ -1403,7 +1403,7 @@ pub struct DhcpDv6 {} // Empty struct for #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct VirtualIp { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, #[yaserde(rename = "vip")] pub vip: Vip, @@ -1411,7 +1411,7 @@ pub struct VirtualIp { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Vip { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub uuid: Option, pub interface: Option, pub mode: Option, @@ -1478,7 +1478,7 @@ pub struct Dyndns { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Vlans { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub vlan: MaybeString, } @@ -1490,21 +1490,21 @@ pub struct Bridges { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Gifs { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: Option, pub gif: Option, } #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Gres { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: Option, pub gre: Option, } #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Laggs { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, pub lagg: Option, } @@ -1516,7 +1516,7 @@ pub struct Wireless { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Hasync { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: Option, pub synchronizealiases: Option, pub synchronizeauthservers: Option, @@ -1564,6 +1564,6 @@ pub struct Hasync { #[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)] pub struct Ifgroups { - #[yaserde(attribute)] + #[yaserde(attribute = true)] pub version: String, }