plexus_substrate/activations/chaos/
types.rs1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
6pub struct RunningNode {
7 pub graph_id: String,
8 pub node_id: String,
9 pub spec_type: String,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
13#[serde(tag = "type", rename_all = "snake_case")]
14pub enum ListRunningResult {
15 #[serde(rename = "node")]
16 Node(RunningNode),
17 #[serde(rename = "done")]
18 Done { count: usize },
19 #[serde(rename = "error")]
20 Err { message: String },
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
24#[serde(tag = "type", rename_all = "snake_case")]
25pub enum InjectResult {
26 #[serde(rename = "ok")]
27 Ok { graph_id: String, node_id: String, action: String },
28 #[serde(rename = "skipped")]
29 Skipped { reason: String },
30 #[serde(rename = "error")]
31 Err { message: String },
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
36pub struct ProcessInfo {
37 pub pid: u32,
38 pub cmdline: String,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
42#[serde(tag = "type", rename_all = "snake_case")]
43pub enum ListProcessesResult {
44 #[serde(rename = "process")]
45 Process(ProcessInfo),
46 #[serde(rename = "done")]
47 Done { count: usize },
48 #[serde(rename = "error")]
49 Err { message: String },
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
53#[serde(tag = "type", rename_all = "snake_case")]
54pub enum KillProcessResult {
55 #[serde(rename = "killed")]
56 Killed { pid: u32 },
57 #[serde(rename = "not_found")]
58 NotFound,
59 #[serde(rename = "error")]
60 Err { message: String },
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
65pub struct NodeSnapshot {
66 pub node_id: String,
67 pub status: String,
68 pub spec_type: String,
69 pub error: Option<String>,
70}
71
72#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
73#[serde(tag = "type", rename_all = "snake_case")]
74pub enum GraphSnapshotResult {
75 #[serde(rename = "node")]
76 Node(NodeSnapshot),
77 #[serde(rename = "summary")]
78 Summary {
79 graph_id: String,
80 graph_status: String,
81 total: usize,
82 pending: usize,
83 ready: usize,
84 running: usize,
85 complete: usize,
86 failed: usize,
87 },
88 #[serde(rename = "error")]
89 Err { message: String },
90}