#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateHeartbeatPayloadAllOf {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "interval")]
pub interval: i32,
#[serde(rename = "intervalUnit")]
pub interval_unit: IntervalUnit,
#[serde(rename = "enabled")]
pub enabled: bool,
#[serde(rename = "ownerTeam", skip_serializing_if = "Option::is_none")]
pub owner_team: Option<crate::models::CreateHeartbeatPayloadAllOfOwnerTeam>,
#[serde(rename = "alertMessage", skip_serializing_if = "Option::is_none")]
pub alert_message: Option<String>,
#[serde(rename = "alertTags", skip_serializing_if = "Option::is_none")]
pub alert_tags: Option<Vec<String>>,
#[serde(rename = "alertPriority", skip_serializing_if = "Option::is_none")]
pub alert_priority: Option<AlertPriority>,
}
impl CreateHeartbeatPayloadAllOf {
pub fn new(name: String, interval: i32, interval_unit: IntervalUnit, enabled: bool) -> CreateHeartbeatPayloadAllOf {
CreateHeartbeatPayloadAllOf {
name,
description: None,
interval,
interval_unit,
enabled,
owner_team: None,
alert_message: None,
alert_tags: None,
alert_priority: 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,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AlertPriority {
#[serde(rename = "P1")]
P1,
#[serde(rename = "P2")]
P2,
#[serde(rename = "P3")]
P3,
#[serde(rename = "P4")]
P4,
#[serde(rename = "P5")]
P5,
}