icinga2_api/types/enums/
host_or_service_state.rs

1//! HostState or ServiceState by name
2
3use serde::{Deserialize, Serialize};
4
5use super::host_state::IcingaHostState;
6use super::host_state::IcingaHostStateByName;
7use super::service_state::IcingaServiceState;
8use super::service_state::IcingaServiceStateByName;
9
10/// HostState and ServiceState, serialized/deserialized by name
11#[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq, PartialOrd, Ord)]
12#[serde(untagged)]
13pub enum IcingaHostOrServiceState {
14    /// a host state
15    Host(#[serde(with = "IcingaHostStateByName")] IcingaHostState),
16    /// a service state
17    Service(#[serde(with = "IcingaServiceStateByName")] IcingaServiceState),
18}