forked from NationTech/harmony
45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
use yaserde_derive::{YaDeserialize, YaSerialize};
|
|
|
|
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
|
|
#[yaserde(rename = "opnsense")]
|
|
pub struct OPNsense {
|
|
#[yaserde(rename = "dhcpd")]
|
|
pub dhcpd: Dhcpd,
|
|
// Add other top-level elements as needed
|
|
}
|
|
|
|
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
|
|
pub struct Dhcpd {
|
|
#[yaserde(rename = "lan")]
|
|
pub lan: DhcpInterface,
|
|
// Add other interfaces as needed
|
|
}
|
|
|
|
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
|
|
pub struct DhcpInterface {
|
|
#[yaserde(rename = "enable")]
|
|
pub enable: bool,
|
|
#[yaserde(rename = "range")]
|
|
pub range: DhcpRange,
|
|
#[yaserde(rename = "staticmap")]
|
|
pub staticmaps: Vec<StaticMap>,
|
|
}
|
|
|
|
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
|
|
pub struct DhcpRange {
|
|
#[yaserde(rename = "from")]
|
|
pub from: String,
|
|
#[yaserde(rename = "to")]
|
|
pub to: String,
|
|
}
|
|
|
|
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
|
|
pub struct StaticMap {
|
|
#[yaserde(rename = "mac")]
|
|
pub mac: String,
|
|
#[yaserde(rename = "ipaddr")]
|
|
pub ipaddr: String,
|
|
#[yaserde(rename = "hostname")]
|
|
pub hostname: String,
|
|
}
|