use serde::Deserialize; #[derive(Debug, Deserialize)] pub struct DsConfig { pub uri: String, pub dm_pw: String, pub base_dn: String, } #[derive(Debug, Deserialize)] pub struct IpaConfig { pub uri: String, pub realm: String, pub admin_pw: String, } #[derive(Debug, Deserialize)] pub struct KaniHttpConfig { pub uri: String, pub admin_pw: String, } #[derive(Debug, Deserialize)] pub struct KaniLdapConfig { pub uri: String, pub ldap_uri: String, pub admin_pw: String, pub base_dn: String, } #[derive(Debug, Deserialize)] pub struct SearchBasicConfig { // Could consider fn for this #[serde(default = "Priority::lowest")] pub warmup_seconds: u32, pub workers: u32, } impl Default for SearchBasicConfig { fn default() -> Self { SearchBasicConfig { warmup_seconds: 5, workers: 16, } } } #[derive(Debug, Deserialize)] pub struct Profile { pub name: String, pub data: String, pub results: String, pub ds_config: Option, pub ipa_config: Option, pub kani_http_config: Option, pub kani_ldap_config: Option, #[serde(default)] pub search_basic_config: SearchBasicConfig, }