kanidm/tools/orca/src/profile.rs
2023-03-01 13:10:52 +10:00

59 lines
1.2 KiB
Rust

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<DsConfig>,
pub ipa_config: Option<IpaConfig>,
pub kani_http_config: Option<KaniHttpConfig>,
pub kani_ldap_config: Option<KaniLdapConfig>,
#[serde(default)]
pub search_basic_config: SearchBasicConfig,
}