lib: more defaults and ignore-if-empty

This commit is contained in:
Mikaël Cluseau
2025-11-16 17:21:41 +01:00
parent 3fe6fc9222
commit c4ed68d0e9
2 changed files with 9 additions and 12 deletions

View File

@ -122,9 +122,10 @@ pub struct LvmLVDefaults {
pub raid: Raid,
}
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(Clone, Default, Debug, serde::Deserialize, serde::Serialize)]
#[serde(rename_all = "snake_case")]
pub enum Filesystem {
#[default]
Ext4,
Xfs,
Btrfs,
@ -143,12 +144,6 @@ impl Filesystem {
}
}
impl Default for Filesystem {
fn default() -> Self {
Filesystem::Ext4
}
}
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
pub struct LvmLV {
pub name: String,

View File

@ -1,11 +1,11 @@
pub mod apply;
pub mod bootstrap;
pub mod dls;
pub mod logger;
pub mod dynlay;
pub mod fs;
pub mod logger;
#[derive(Debug, serde::Deserialize, serde::Serialize)]
#[derive(Debug, Default, serde::Deserialize, serde::Serialize)]
pub struct Config {
pub layers: Vec<String>,
pub root_user: RootUser,
@ -19,18 +19,20 @@ pub struct Config {
pub users: Vec<User>,
}
#[derive(Debug, serde::Deserialize, serde::Serialize)]
#[derive(Debug, Default, serde::Deserialize, serde::Serialize)]
pub struct RootUser {
#[serde(skip_serializing_if = "Option::is_none")]
pub password_hash: Option<String>,
pub authorized_keys: Vec<String>,
}
#[derive(Debug, serde::Deserialize, serde::Serialize)]
#[derive(Debug, Default, serde::Deserialize, serde::Serialize)]
pub struct Mount {
pub r#type: Option<String>,
pub dev: String,
pub path: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub options: Option<String>,
}