use serde::Deserialize;
use std::{net::SocketAddr, path::PathBuf};
#[derive(Debug, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Config {
#[serde(alias = "dns_listen_adr")]
pub dns_listen_addr: SocketAddr,
pub accounts: Vec<Account>,
}
#[derive(Debug, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Account {
pub email: String,
pub private_key_path: PathBuf,
pub certificates: Vec<Certificate>,
}
#[derive(Debug, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Certificate {
pub domains: Vec<String>,
pub fullchain_output_file: PathBuf,
pub key_output_file: PathBuf,
}