1use super::*;
7
8pub use software::Software;
9
10mod impls;
11mod software;
12
13pub const PREFIX: &str = "/v0";
14
15#[derive(Clone, Debug, Serialize, Deserialize)]
16pub struct ConnectCluster {
17 pub handle: String,
18}
19
20#[derive(Clone, Debug, Serialize, Deserialize)]
21pub struct ConnectedCluster {
22 pub id: Uuid,
23}
24
25#[derive(Clone, Debug, Serialize, Deserialize)]
26pub struct DisconnectCluster {
27 pub handle: String,
28}
29
30#[derive(Clone, Debug, Serialize, Deserialize)]
31pub struct Cluster {
32 pub name: String,
33 pub id: Uuid,
34 pub vendor: Vendor,
35 pub connected: bool,
36 pub location: Location,
37 pub description: Option<String>,
38 pub version: String,
39 pub platform_version: Option<String>,
40 pub software: Option<Software>,
41}
42
43#[derive(Clone, Debug, Serialize, Deserialize)]
44pub struct Clusters {
45 pub data: Vec<Cluster>,
46}
47
48#[derive(Clone, Debug, Serialize, Deserialize)]
49pub struct ClusterToken {
50 pub token: String,
51}
52
53impl ConnectCluster {
54 pub const PATH: &str = "/connect";
55}
56
57impl DisconnectCluster {
58 pub const PATH: &str = "/disconnect";
59}
60
61impl Cluster {
62 pub const PATH: &str = "/clusters";
63}
64
65impl ClusterToken {
66 pub const PATH: &str = "/token";
67}