This should have never been started to begin with...
+use std::fmt;
+
use serde::{Deserialize, Serialize};
use proxmox_schema::*;
#[api()]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
#[repr(u8)]
/// Linux Bond Mode
pub enum LinuxBondMode {
/// Round-robin policy
- balance_rr = 0,
+ BalanceRr = 0,
/// Active-backup policy
- active_backup = 1,
+ ActiveBackup = 1,
/// XOR policy
- balance_xor = 2,
+ BalanceXor = 2,
/// Broadcast policy
- broadcast = 3,
+ Broadcast = 3,
/// IEEE 802.3ad Dynamic link aggregation
#[serde(rename = "802.3ad")]
- ieee802_3ad = 4,
+ Ieee802_3ad = 4,
/// Adaptive transmit load balancing
- balance_tlb = 5,
+ BalanceTlb = 5,
/// Adaptive load balancing
- balance_alb = 6,
+ BalanceAlb = 6,
+}
+
+impl fmt::Display for LinuxBondMode {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.write_str(match self {
+ LinuxBondMode::BalanceRr => "balance-rr",
+ LinuxBondMode::ActiveBackup => "active-backup",
+ LinuxBondMode::BalanceXor => "balance-xor",
+ LinuxBondMode::Broadcast => "broadcast",
+ LinuxBondMode::Ieee802_3ad => "802.3ad",
+ LinuxBondMode::BalanceTlb => "balance-tlb",
+ LinuxBondMode::BalanceAlb => "balance-alb",
+ })
+ }
}
#[api()]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
#[repr(u8)]
/// Bond Transmit Hash Policy for LACP (802.3ad)
pub enum BondXmitHashPolicy {
/// Layer 2
- layer2 = 0,
+ Layer2 = 0,
/// Layer 2+3
#[serde(rename = "layer2+3")]
- layer2_3 = 1,
+ Layer2_3 = 1,
/// Layer 3+4
#[serde(rename = "layer3+4")]
- layer3_4 = 2,
+ Layer3_4 = 2,
+}
+
+impl fmt::Display for BondXmitHashPolicy {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.write_str(match self {
+ BondXmitHashPolicy::Layer2 => "layer2",
+ BondXmitHashPolicy::Layer2_3 => "layer2+3",
+ BondXmitHashPolicy::Layer3_4 => "layer3+4",
+ })
+ }
}
#[api()]
.map_err(|_: value::Error| format_err!("invalid bond_mode '{}'", s))
}
-pub fn bond_mode_to_str(mode: LinuxBondMode) -> &'static str {
- match mode {
- LinuxBondMode::balance_rr => "balance-rr",
- LinuxBondMode::active_backup => "active-backup",
- LinuxBondMode::balance_xor => "balance-xor",
- LinuxBondMode::broadcast => "broadcast",
- LinuxBondMode::ieee802_3ad => "802.3ad",
- LinuxBondMode::balance_tlb => "balance-tlb",
- LinuxBondMode::balance_alb => "balance-alb",
- }
-}
-
pub fn bond_xmit_hash_policy_from_str(s: &str) -> Result<BondXmitHashPolicy, Error> {
BondXmitHashPolicy::deserialize(s.into_deserializer())
.map_err(|_: value::Error| format_err!("invalid bond_xmit_hash_policy '{}'", s))
}
-pub fn bond_xmit_hash_policy_to_str(policy: &BondXmitHashPolicy) -> &'static str {
- match policy {
- BondXmitHashPolicy::layer2 => "layer2",
- BondXmitHashPolicy::layer2_3 => "layer2+3",
- BondXmitHashPolicy::layer3_4 => "layer3+4",
- }
-}
-
// Write attributes not depending on address family
fn write_iface_attributes(iface: &Interface, w: &mut dyn Write) -> Result<(), Error> {
static EMPTY_LIST: Vec<String> = Vec::new();
}
}
NetworkInterfaceType::Bond => {
- let mode = iface.bond_mode.unwrap_or(LinuxBondMode::balance_rr);
- writeln!(w, "\tbond-mode {}", bond_mode_to_str(mode))?;
+ let mode = iface.bond_mode.unwrap_or(LinuxBondMode::BalanceRr);
+ writeln!(w, "\tbond-mode {mode}")?;
if let Some(primary) = &iface.bond_primary {
- if mode == LinuxBondMode::active_backup {
+ if mode == LinuxBondMode::ActiveBackup {
writeln!(w, "\tbond-primary {}", primary)?;
}
}
if let Some(xmit_policy) = &iface.bond_xmit_hash_policy {
- if mode == LinuxBondMode::ieee802_3ad || mode == LinuxBondMode::balance_xor {
- writeln!(
- w,
- "\tbond_xmit_hash_policy {}",
- bond_xmit_hash_policy_to_str(xmit_policy)
- )?;
+ if mode == LinuxBondMode::Ieee802_3ad || mode == LinuxBondMode::BalanceXor {
+ writeln!(w, "\tbond_xmit_hash_policy {xmit_policy}")?;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
pub enum DeletableProperty {
/// Delete the comment property.
- comment,
+ Comment,
/// Delete the firstname property.
- firstname,
+ Firstname,
/// Delete the lastname property.
- lastname,
+ Lastname,
/// Delete the email property.
- email,
+ Email,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::comment => data.comment = None,
- DeletableProperty::firstname => data.firstname = None,
- DeletableProperty::lastname => data.lastname = None,
- DeletableProperty::email => data.email = None,
+ DeletableProperty::Comment => data.comment = None,
+ DeletableProperty::Firstname => data.firstname = None,
+ DeletableProperty::Lastname => data.lastname = None,
+ DeletableProperty::Email => data.email = None,
}
}
}
#[api()]
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the client key.
- client_key,
+ ClientKey,
/// Delete the comment property.
- comment,
+ Comment,
/// Delete the autocreate property
- autocreate,
+ Autocreate,
/// Delete the scopes property
- scopes,
+ Scopes,
/// Delete the prompt property
- prompt,
+ Prompt,
/// Delete the acr_values property
- acr_values,
+ AcrValues,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::client_key => {
+ DeletableProperty::ClientKey => {
config.client_key = None;
}
- DeletableProperty::comment => {
+ DeletableProperty::Comment => {
config.comment = None;
}
- DeletableProperty::autocreate => {
+ DeletableProperty::Autocreate => {
config.autocreate = None;
}
- DeletableProperty::scopes => {
+ DeletableProperty::Scopes => {
config.scopes = None;
}
- DeletableProperty::prompt => {
+ DeletableProperty::Prompt => {
config.prompt = None;
}
- DeletableProperty::acr_values => {
+ DeletableProperty::AcrValues => {
config.acr_values = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the disable property
- disable,
+ Disable,
/// Delete the validation-delay property
- validation_delay,
+ ValidationDelay,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::validation_delay => {
+ DeletableProperty::ValidationDelay => {
plugin.core.validation_delay = None;
}
- DeletableProperty::disable => {
+ DeletableProperty::Disable => {
plugin.core.disable = None;
}
}
}
#[api()]
#[derive(Serialize, Deserialize)]
-#[allow(non_camel_case_types)]
#[serde(rename_all = "kebab-case")]
/// Deletable property name
pub enum DeletableProperty {
/// Delete export-slots.
- export_slots,
+ ExportSlots,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::export_slots => {
+ DeletableProperty::ExportSlots => {
data.export_slots = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the comment property.
- comment,
+ Comment,
/// Delete the garbage collection schedule.
- gc_schedule,
+ GcSchedule,
/// Delete the prune job schedule.
- prune_schedule,
+ PruneSchedule,
/// Delete the keep-last property
- keep_last,
+ KeepLast,
/// Delete the keep-hourly property
- keep_hourly,
+ KeepHourly,
/// Delete the keep-daily property
- keep_daily,
+ KeepDaily,
/// Delete the keep-weekly property
- keep_weekly,
+ KeepWeekly,
/// Delete the keep-monthly property
- keep_monthly,
+ KeepMonthly,
/// Delete the keep-yearly property
- keep_yearly,
+ KeepYearly,
/// Delete the verify-new property
- verify_new,
+ VerifyNew,
/// Delete the notify-user property
- notify_user,
+ NotifyUser,
/// Delete the notify property
- notify,
+ Notify,
/// Delete the tuning property
- tuning,
+ Tuning,
/// Delete the maintenance-mode property
- maintenance_mode,
+ MaintenanceMode,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::comment => {
+ DeletableProperty::Comment => {
data.comment = None;
}
- DeletableProperty::gc_schedule => {
+ DeletableProperty::GcSchedule => {
data.gc_schedule = None;
}
- DeletableProperty::prune_schedule => {
+ DeletableProperty::PruneSchedule => {
data.prune_schedule = None;
}
- DeletableProperty::keep_last => {
+ DeletableProperty::KeepLast => {
data.keep.keep_last = None;
}
- DeletableProperty::keep_hourly => {
+ DeletableProperty::KeepHourly => {
data.keep.keep_hourly = None;
}
- DeletableProperty::keep_daily => {
+ DeletableProperty::KeepDaily => {
data.keep.keep_daily = None;
}
- DeletableProperty::keep_weekly => {
+ DeletableProperty::KeepWeekly => {
data.keep.keep_weekly = None;
}
- DeletableProperty::keep_monthly => {
+ DeletableProperty::KeepMonthly => {
data.keep.keep_monthly = None;
}
- DeletableProperty::keep_yearly => {
+ DeletableProperty::KeepYearly => {
data.keep.keep_yearly = None;
}
- DeletableProperty::verify_new => {
+ DeletableProperty::VerifyNew => {
data.verify_new = None;
}
- DeletableProperty::notify => {
+ DeletableProperty::Notify => {
data.notify = None;
}
- DeletableProperty::notify_user => {
+ DeletableProperty::NotifyUser => {
data.notify_user = None;
}
- DeletableProperty::tuning => {
+ DeletableProperty::Tuning => {
data.tuning = None;
}
- DeletableProperty::maintenance_mode => {
+ DeletableProperty::MaintenanceMode => {
data.maintenance_mode = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
-#[allow(non_camel_case_types)]
#[serde(rename_all = "kebab-case")]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the changer property.
- changer,
+ Changer,
/// Delete the changer-drivenum property.
- changer_drivenum,
+ ChangerDrivenum,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::changer => {
+ DeletableProperty::Changer => {
data.changer = None;
data.changer_drivenum = None;
}
- DeletableProperty::changer_drivenum => {
+ DeletableProperty::ChangerDrivenum => {
data.changer_drivenum = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete media set allocation policy.
- allocation,
+ Allocation,
/// Delete pool retention policy
- retention,
+ Retention,
/// Delete media set naming template
- template,
+ Template,
/// Delete encryption fingerprint
- encrypt,
+ Encrypt,
/// Delete comment
- comment,
+ Comment,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::allocation => {
+ DeletableProperty::Allocation => {
data.allocation = None;
}
- DeletableProperty::retention => {
+ DeletableProperty::Retention => {
data.retention = None;
}
- DeletableProperty::template => {
+ DeletableProperty::Template => {
data.template = None;
}
- DeletableProperty::encrypt => {
+ DeletableProperty::Encrypt => {
data.encrypt = None;
}
- DeletableProperty::comment => {
+ DeletableProperty::Comment => {
data.comment = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the comment property.
- comment,
+ Comment,
/// Delete the fingerprint property.
- fingerprint,
+ Fingerprint,
/// Delete the port property.
- port,
+ Port,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::comment => {
+ DeletableProperty::Comment => {
data.config.comment = None;
}
- DeletableProperty::fingerprint => {
+ DeletableProperty::Fingerprint => {
data.config.fingerprint = None;
}
- DeletableProperty::port => {
+ DeletableProperty::Port => {
data.config.port = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the owner property.
- owner,
+ Owner,
/// Delete the comment property.
- comment,
+ Comment,
/// Delete the job schedule.
- schedule,
+ Schedule,
/// Delete the remove-vanished flag.
- remove_vanished,
+ RemoveVanished,
/// Delete the group_filter property.
- group_filter,
+ GroupFilter,
/// Delete the rate_in property.
- rate_in,
+ RateIn,
/// Delete the burst_in property.
- burst_in,
+ BurstIn,
/// Delete the rate_out property.
- rate_out,
+ RateOut,
/// Delete the burst_out property.
- burst_out,
+ BurstOut,
/// Delete the ns property,
- ns,
+ Ns,
/// Delete the remote_ns property,
- remote_ns,
+ RemoteNs,
/// Delete the max_depth property,
- max_depth,
+ MaxDepth,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::owner => {
+ DeletableProperty::Owner => {
data.owner = None;
}
- DeletableProperty::comment => {
+ DeletableProperty::Comment => {
data.comment = None;
}
- DeletableProperty::schedule => {
+ DeletableProperty::Schedule => {
data.schedule = None;
}
- DeletableProperty::remove_vanished => {
+ DeletableProperty::RemoveVanished => {
data.remove_vanished = None;
}
- DeletableProperty::group_filter => {
+ DeletableProperty::GroupFilter => {
data.group_filter = None;
}
- DeletableProperty::rate_in => {
+ DeletableProperty::RateIn => {
data.limit.rate_in = None;
}
- DeletableProperty::rate_out => {
+ DeletableProperty::RateOut => {
data.limit.rate_out = None;
}
- DeletableProperty::burst_in => {
+ DeletableProperty::BurstIn => {
data.limit.burst_in = None;
}
- DeletableProperty::burst_out => {
+ DeletableProperty::BurstOut => {
data.limit.burst_out = None;
}
- DeletableProperty::ns => {
+ DeletableProperty::Ns => {
data.ns = None;
}
- DeletableProperty::remote_ns => {
+ DeletableProperty::RemoteNs => {
data.remote_ns = None;
}
- DeletableProperty::max_depth => {
+ DeletableProperty::MaxDepth => {
data.max_depth = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
-#[allow(non_camel_case_types)]
#[serde(rename_all = "kebab-case")]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the rate_in property.
- rate_in,
+ RateIn,
/// Delete the burst_in property.
- burst_in,
+ BurstIn,
/// Delete the rate_out property.
- rate_out,
+ RateOut,
/// Delete the burst_out property.
- burst_out,
+ BurstOut,
/// Delete the comment property.
- comment,
+ Comment,
/// Delete the timeframe property
- timeframe,
+ Timeframe,
}
// fixme: use TrafficControlUpdater
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::rate_in => {
+ DeletableProperty::RateIn => {
data.limit.rate_in = None;
}
- DeletableProperty::rate_out => {
+ DeletableProperty::RateOut => {
data.limit.rate_out = None;
}
- DeletableProperty::burst_in => {
+ DeletableProperty::BurstIn => {
data.limit.burst_in = None;
}
- DeletableProperty::burst_out => {
+ DeletableProperty::BurstOut => {
data.limit.burst_out = None;
}
- DeletableProperty::comment => {
+ DeletableProperty::Comment => {
data.comment = None;
}
- DeletableProperty::timeframe => {
+ DeletableProperty::Timeframe => {
data.timeframe = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the acme property.
- acme,
+ Acme,
/// Delete the acmedomain0 property.
- acmedomain0,
+ Acmedomain0,
/// Delete the acmedomain1 property.
- acmedomain1,
+ Acmedomain1,
/// Delete the acmedomain2 property.
- acmedomain2,
+ Acmedomain2,
/// Delete the acmedomain3 property.
- acmedomain3,
+ Acmedomain3,
/// Delete the acmedomain4 property.
- acmedomain4,
+ Acmedomain4,
/// Delete the http-proxy property.
- http_proxy,
+ HttpProxy,
/// Delete the email-from property.
- email_from,
+ EmailFrom,
/// Delete the ciphers-tls-1.3 property.
#[serde(rename = "ciphers-tls-1.3")]
- ciphers_tls_1_3,
+ CiphersTls1_3,
/// Delete the ciphers-tls-1.2 property.
#[serde(rename = "ciphers-tls-1.2")]
- ciphers_tls_1_2,
+ CiphersTls1_2,
/// Delete the default-lang property.
- default_lang,
+ DefaultLang,
/// Delete any description
- description,
+ Description,
/// Delete the task-log-max-days property
- task_log_max_days,
+ TaskLogMaxDays,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::acme => {
+ DeletableProperty::Acme => {
config.acme = None;
}
- DeletableProperty::acmedomain0 => {
+ DeletableProperty::Acmedomain0 => {
config.acmedomain0 = None;
}
- DeletableProperty::acmedomain1 => {
+ DeletableProperty::Acmedomain1 => {
config.acmedomain1 = None;
}
- DeletableProperty::acmedomain2 => {
+ DeletableProperty::Acmedomain2 => {
config.acmedomain2 = None;
}
- DeletableProperty::acmedomain3 => {
+ DeletableProperty::Acmedomain3 => {
config.acmedomain3 = None;
}
- DeletableProperty::acmedomain4 => {
+ DeletableProperty::Acmedomain4 => {
config.acmedomain4 = None;
}
- DeletableProperty::http_proxy => {
+ DeletableProperty::HttpProxy => {
config.http_proxy = None;
}
- DeletableProperty::email_from => {
+ DeletableProperty::EmailFrom => {
config.email_from = None;
}
- DeletableProperty::ciphers_tls_1_3 => {
+ DeletableProperty::CiphersTls1_3 => {
config.ciphers_tls_1_3 = None;
}
- DeletableProperty::ciphers_tls_1_2 => {
+ DeletableProperty::CiphersTls1_2 => {
config.ciphers_tls_1_2 = None;
}
- DeletableProperty::default_lang => {
+ DeletableProperty::DefaultLang => {
config.default_lang = None;
}
- DeletableProperty::description => {
+ DeletableProperty::Description => {
config.description = None;
}
- DeletableProperty::task_log_max_days => {
+ DeletableProperty::TaskLogMaxDays => {
config.task_log_max_days = None;
}
}
#[api()]
#[derive(Serialize, Deserialize)]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete first nameserver entry
- dns1,
+ Dns1,
/// Delete second nameserver entry
- dns2,
+ Dns2,
/// Delete third nameserver entry
- dns3,
+ Dns3,
}
pub fn read_etc_resolv_conf() -> Result<Value, Error> {
for delete_prop in delete {
let config = config.as_object_mut().unwrap();
match delete_prop {
- DeletableProperty::dns1 => {
+ DeletableProperty::Dns1 => {
config.remove("dns1");
}
- DeletableProperty::dns2 => {
+ DeletableProperty::Dns2 => {
config.remove("dns2");
}
- DeletableProperty::dns3 => {
+ DeletableProperty::Dns3 => {
config.remove("dns3");
}
}
if let Some(mode) = bond_mode {
interface.bond_mode = bond_mode;
if bond_primary.is_some() {
- if mode != LinuxBondMode::active_backup {
+ if mode != LinuxBondMode::ActiveBackup {
bail!("bond-primary is only valid with Active/Backup mode");
}
interface.bond_primary = bond_primary;
}
if bond_xmit_hash_policy.is_some() {
- if mode != LinuxBondMode::ieee802_3ad && mode != LinuxBondMode::balance_xor {
+ if mode != LinuxBondMode::Ieee802_3ad && mode != LinuxBondMode::BalanceXor {
bail!("bond_xmit_hash_policy is only valid with LACP(802.3ad) or balance-xor mode");
}
interface.bond_xmit_hash_policy = bond_xmit_hash_policy;
#[api()]
#[derive(Serialize, Deserialize)]
-#[allow(non_camel_case_types)]
/// Deletable property name
pub enum DeletableProperty {
/// Delete the IPv4 address property.
- cidr,
+ Cidr,
/// Delete the IPv6 address property.
- cidr6,
+ Cidr6,
/// Delete the IPv4 gateway property.
- gateway,
+ Gateway,
/// Delete the IPv6 gateway property.
- gateway6,
+ Gateway6,
/// Delete the whole IPv4 configuration entry.
- method,
+ Method,
/// Delete the whole IPv6 configuration entry.
- method6,
+ Method6,
/// Delete IPv4 comments
- comments,
+ Comments,
/// Delete IPv6 comments
- comments6,
+ Comments6,
/// Delete mtu.
- mtu,
+ Mtu,
/// Delete autostart flag
- autostart,
+ Autostart,
/// Delete bridge ports (set to 'none')
- bridge_ports,
+ BridgePorts,
/// Delete bridge-vlan-aware flag
- bridge_vlan_aware,
+ BridgeVlanAware,
/// Delete bond-slaves (set to 'none')
- slaves,
+ Slaves,
/// Delete bond-primary
#[serde(rename = "bond-primary")]
- bond_primary,
+ BondPrimary,
/// Delete bond transmit hash policy
- bond_xmit_hash_policy,
+ BondXmitHashPolicy,
}
#[api(
if let Some(delete) = delete {
for delete_prop in delete {
match delete_prop {
- DeletableProperty::cidr => {
+ DeletableProperty::Cidr => {
interface.cidr = None;
}
- DeletableProperty::cidr6 => {
+ DeletableProperty::Cidr6 => {
interface.cidr6 = None;
}
- DeletableProperty::gateway => {
+ DeletableProperty::Gateway => {
interface.gateway = None;
}
- DeletableProperty::gateway6 => {
+ DeletableProperty::Gateway6 => {
interface.gateway6 = None;
}
- DeletableProperty::method => {
+ DeletableProperty::Method => {
interface.method = None;
}
- DeletableProperty::method6 => {
+ DeletableProperty::Method6 => {
interface.method6 = None;
}
- DeletableProperty::comments => {
+ DeletableProperty::Comments => {
interface.comments = None;
}
- DeletableProperty::comments6 => {
+ DeletableProperty::Comments6 => {
interface.comments6 = None;
}
- DeletableProperty::mtu => {
+ DeletableProperty::Mtu => {
interface.mtu = None;
}
- DeletableProperty::autostart => {
+ DeletableProperty::Autostart => {
interface.autostart = false;
}
- DeletableProperty::bridge_ports => {
+ DeletableProperty::BridgePorts => {
set_bridge_ports(interface, Vec::new())?;
}
- DeletableProperty::bridge_vlan_aware => {
+ DeletableProperty::BridgeVlanAware => {
interface.bridge_vlan_aware = None;
}
- DeletableProperty::slaves => {
+ DeletableProperty::Slaves => {
set_bond_slaves(interface, Vec::new())?;
}
- DeletableProperty::bond_primary => {
+ DeletableProperty::BondPrimary => {
interface.bond_primary = None;
}
- DeletableProperty::bond_xmit_hash_policy => interface.bond_xmit_hash_policy = None,
+ DeletableProperty::BondXmitHashPolicy => interface.bond_xmit_hash_policy = None,
}
}
}
if let Some(mode) = bond_mode {
interface.bond_mode = bond_mode;
if bond_primary.is_some() {
- if mode != LinuxBondMode::active_backup {
+ if mode != LinuxBondMode::ActiveBackup {
bail!("bond-primary is only valid with Active/Backup mode");
}
interface.bond_primary = bond_primary;
}
if bond_xmit_hash_policy.is_some() {
- if mode != LinuxBondMode::ieee802_3ad && mode != LinuxBondMode::balance_xor {
+ if mode != LinuxBondMode::Ieee802_3ad && mode != LinuxBondMode::BalanceXor {
bail!("bond_xmit_hash_policy is only valid with LACP(802.3ad) or balance-xor mode");
}
interface.bond_xmit_hash_policy = bond_xmit_hash_policy;