1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Default)]
4pub struct PowerStatus {
5 #[serde(skip_serializing_if = "Option::is_none")]
6 reason: Option<String>,
7 xnames: Vec<String>,
8 force: bool,
9 #[serde(skip_serializing_if = "Option::is_none")]
10 recursive: Option<bool>,
11}
12
13impl PowerStatus {
14 pub fn new(
15 reason: Option<String>,
16 xnames: Vec<String>,
17 force: bool,
18 recursive: Option<bool>,
19 ) -> Self {
20 Self {
21 reason,
22 xnames,
23 force,
24 recursive,
25 }
26 }
27}
28
29#[derive(Debug, Serialize, Deserialize, Default)]
30pub struct NodeStatus {
31 #[serde(skip_serializing_if = "Option::is_none")]
32 filter: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 source: Option<String>,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 xnames: Option<Vec<String>>,
37}
38
39impl NodeStatus {
40 pub fn new(
41 filter: Option<String>,
42 xnames: Option<Vec<String>>,
43 source: Option<String>,
44 ) -> Self {
45 Self {
46 filter,
47 source,
48 xnames,
49 }
50 }
51}