use chrono::{DateTime, Utc};
use serde::Deserialize;
#[derive(Clone, Default, Debug, PartialEq, Deserialize)]
pub struct AsteriskInfo {
pub build: Option<BuildInfo>,
pub system: Option<SystemInfo>,
pub config: Option<ConfigInfo>,
pub status: Option<StatusInfo>,
}
#[derive(Clone, Default, Debug, PartialEq, Deserialize)]
pub struct AsteriskPing {
pub asterisk_id: String,
pub ping: String,
pub timestamp: DateTime<Utc>,
}
#[derive(Clone, Default, Debug, PartialEq, Deserialize)]
pub struct BuildInfo {
pub os: String,
pub kernel: String,
pub options: String,
pub machine: String,
pub date: String,
pub user: String,
}
#[derive(Clone, Default, Debug, PartialEq, Deserialize)]
pub struct ConfigInfo {
pub name: String,
pub default_language: String,
pub max_channels: Option<u32>,
pub max_open_files: Option<u32>,
pub max_load: Option<f32>,
pub set_id: Option<SetId>,
}
#[derive(Clone, Default, Debug, PartialEq, Deserialize)]
pub struct SetId {
pub user: String,
pub group: String,
}
#[derive(Clone, Default, Debug, PartialEq, Deserialize)]
pub struct StatusInfo {
pub startup_time: DateTime<Utc>,
pub last_reload_time: DateTime<Utc>,
}
#[derive(Clone, Default, Debug, PartialEq, Deserialize)]
pub struct SystemInfo {
pub version: String,
pub entity_id: String,
}