Skip to main content

rship_entities/
instance.rs

1use myko_macros::Eventable;
2use partially::Partial;
3use serde::{Deserialize, Serialize};
4
5#[derive(Partial, PartialEq, Eventable, Clone, Serialize, Deserialize, Debug)]
6#[serde(rename_all = "camelCase")]
7#[partially(derive(Clone, Serialize, Deserialize, Default))]
8pub struct Instance {
9    pub id: String,
10    pub hash: String,
11    pub name: String,
12
13    pub service_id: String,
14
15    // pub client_id: String,
16    pub service_type_code: String,
17
18    pub color: String,
19
20    pub machine_id: String,
21
22    pub status: InstanceStatus,
23
24    #[serde(default)]
25    pub message: Option<String>,
26
27    #[serde(default)]
28    pub cluster_id: Option<String>,
29}
30
31#[derive(Clone, Serialize, Deserialize, Debug, Eq, PartialEq, Hash)]
32pub enum InstanceStatus {
33    Starting,
34    Available,
35    Stopping,
36    Unavailable,
37    Error,
38}