rship_entities/
instance.rs1use 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 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}