#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Heartbeat {
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "interval", skip_serializing_if = "Option::is_none")]
pub interval: Option<i32>,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "intervalUnit", skip_serializing_if = "Option::is_none")]
pub interval_unit: Option<IntervalUnit>,
#[serde(rename = "expired", skip_serializing_if = "Option::is_none")]
pub expired: Option<bool>,
#[serde(rename = "lastPingTime", skip_serializing_if = "Option::is_none")]
pub last_ping_time: Option<chrono::DateTime<chrono::offset::Utc>>,
}
impl Heartbeat {
pub fn new() -> Heartbeat {
Heartbeat {
name: None,
description: None,
interval: None,
enabled: None,
interval_unit: None,
expired: None,
last_ping_time: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum IntervalUnit {
#[serde(rename = "minutes")]
Minutes,
#[serde(rename = "hours")]
Hours,
#[serde(rename = "days")]
Days,
}