opsgenie-rs 0.1.0-alpha.2

Rust client for OpsGenie API
Documentation
/*
 * Python SDK for Opsgenie REST API
 *
 * Python SDK for Opsgenie REST API
 *
 * The version of the OpenAPI document: 2.0.0
 * Contact: support@opsgenie.com
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateHeartbeatPayloadAllOf {
    /// Name of the heartbeat
    #[serde(rename = "name")]
    pub name: String,
    /// An optional description of the heartbeat
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// Specifies how often a heartbeat message should be expected
    #[serde(rename = "interval")]
    pub interval: i32,
    /// Interval specified as 'minutes', 'hours' or 'days'
    #[serde(rename = "intervalUnit")]
    pub interval_unit: IntervalUnit,
    /// Enable/disable heartbeat monitoring
    #[serde(rename = "enabled")]
    pub enabled: bool,
    #[serde(rename = "ownerTeam", skip_serializing_if = "Option::is_none")]
    pub owner_team: Option<crate::models::CreateHeartbeatPayloadAllOfOwnerTeam>,
    /// Specifies the alert message for heartbeat expiration alert. If this is not provided, default alert message is 'HeartbeatName is expired'
    #[serde(rename = "alertMessage", skip_serializing_if = "Option::is_none")]
    pub alert_message: Option<String>,
    /// Specifies the alert tags for heartbeat expiration alert
    #[serde(rename = "alertTags", skip_serializing_if = "Option::is_none")]
    pub alert_tags: Option<Vec<String>>,
    /// Specifies the alert priority for heartbeat expiration alert. If this is not provided, default priority is P3
    #[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,
        }
    }
}

/// Interval specified as 'minutes', 'hours' or 'days'
#[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,
}
/// Specifies the alert priority for heartbeat expiration alert. If this is not provided, default priority is P3
#[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,
}