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.
This commit is contained in:
Jean-Gabriel Gill-Couture 2025-01-12 14:06:30 -05:00
parent 1665198e66
commit cad63ecf20
2 changed files with 59 additions and 57 deletions

View File

@ -7,8 +7,10 @@ use yaserde::{YaDeserialize as YaDeserializeTrait, YaSerialize as YaSerializeTra
use yaserde_derive::{YaDeserialize, YaSerialize};
impl YaDeserializeTrait for HAProxyId {
fn deserialize<R: std::io::Read>(reader: &mut yaserde::de::Deserializer<R>) -> Result<Self, String> {
let field_name = match reader.peek()? {
fn deserialize<R: std::io::Read>(
reader: &mut yaserde::de::Deserializer<R>,
) -> Result<Self, String> {
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,

View File

@ -115,7 +115,7 @@ pub struct Filters {
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
pub struct Rule {
#[yaserde(attribute)]
#[yaserde(attribute = true)]
pub uuid: Option<String>,
#[yaserde(rename = "associated-rule-id")]
pub associated_rule_id: Option<MaybeString>,
@ -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<MaybeString>,
snatrules: Option<MaybeString>,
@ -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<Alert>,
@ -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<Zones>,
@ -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<Jobs>,
@ -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<Capture>,
@ -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<Templates>,
@ -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<Categories>,
@ -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<GeoIP>,
@ -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<Servers>,
}
@ -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<MaybeString>,
@ -1388,7 +1388,7 @@ pub struct Ca {}
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
pub struct Cert {
#[yaserde(attribute)]
#[yaserde(attribute = true)]
pub uuid: Option<String>,
pub refid: String,
pub descr: String,
@ -1403,7 +1403,7 @@ pub struct DhcpDv6 {} // Empty struct for <dhcpdv6/>
#[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<String>,
pub interface: Option<MaybeString>,
pub mode: Option<MaybeString>,
@ -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<String>,
pub gif: Option<MaybeString>,
}
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
pub struct Gres {
#[yaserde(attribute)]
#[yaserde(attribute = true)]
pub version: Option<String>,
pub gre: Option<MaybeString>,
}
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
pub struct Laggs {
#[yaserde(attribute)]
#[yaserde(attribute = true)]
pub version: String,
pub lagg: Option<MaybeString>,
}
@ -1516,7 +1516,7 @@ pub struct Wireless {
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
pub struct Hasync {
#[yaserde(attribute)]
#[yaserde(attribute = true)]
pub version: Option<String>,
pub synchronizealiases: Option<MaybeString>,
pub synchronizeauthservers: Option<MaybeString>,
@ -1564,6 +1564,6 @@ pub struct Hasync {
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
pub struct Ifgroups {
#[yaserde(attribute)]
#[yaserde(attribute = true)]
pub version: String,
}