use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Clone, Debug, Default)]
#[serde(default)]
pub struct SSHConfig {
pub(super) config_file: Option<String>,
}
impl SSHConfig {
pub fn builder() -> SSHConfigBuilder {
SSHConfigBuilder::default()
}
pub fn config_file(&self) -> Option<&str> {
self.config_file.as_deref()
}
}
#[derive(Default)]
pub struct SSHConfigBuilder {
config_file: Option<String>,
}
impl SSHConfigBuilder {
pub fn config_file(mut self, path: impl Into<String>) -> Self {
self.config_file = Some(path.into());
self
}
pub fn build(self) -> SSHConfig {
SSHConfig {
config_file: self.config_file,
}
}
}