nodesty_api_library/models/
dedicated.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4pub enum DedicatedServerAction {
5 #[serde(rename = "setPowerOn")]
6 Start,
7 #[serde(rename = "setPowerOff")]
8 Stop,
9 #[serde(rename = "setPowerReset")]
10 Restart,
11}
12
13#[derive(Debug, Serialize, Deserialize)]
14#[serde(rename_all = "camelCase")]
15pub struct DedicatedServerCpuDetails {
16 pub model: String,
17 pub speed: u32,
18 pub turbo_speed: u32,
19 pub cores: u8,
20 pub threads: u8,
21}
22
23#[derive(Debug, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase")]
25pub struct DedicatedServerDetails {
26 pub dedicated_id: String,
27 pub status: bool,
28 pub available_actions: Vec<DedicatedServerAction>,
29 pub mainboard: String,
30 pub ram: u32,
31 pub disk: u32,
32 pub cpu: DedicatedServerCpuDetails,
33}
34
35#[derive(Debug, Serialize, Deserialize)]
36#[serde(rename_all = "camelCase")]
37pub struct DedicatedServerOsTemplate {
38 pub id: u32,
39 pub name: String,
40}
41
42#[derive(Debug, Serialize, Deserialize)]
43#[serde(rename_all = "camelCase")]
44pub struct DedicatedServerReinstallData {
45 pub password: String,
46 pub os_id: u32,
47}
48
49#[derive(Debug, Serialize, Deserialize)]
50#[serde(rename_all = "camelCase")]
51pub struct DedicatedServerTask {
52 pub action: String,
53 pub started_at: u64,
54 pub updated_at: u64,
55}
56
57#[derive(Debug, Serialize, Deserialize)]
58#[serde(rename_all = "camelCase")]
59pub struct DedicatedServerHardwareComponent {
60 pub component: String,
61 pub model: String,
62 pub value: u32,
63 pub value_suffix: String,
64}
65#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
66#[serde(try_from = "u8")]
67#[serde(into = "u8")]
68#[repr(u8)]
69pub enum DedicatedServerReinstallStep {
70 RebootingServer = 0,
71 PreparingBootEnvironment = 1,
72 InstallingOperatingSystem = 2,
73 InstallationCompleted = 3,
74}
75
76impl TryFrom<u8> for DedicatedServerReinstallStep {
77 type Error = &'static str;
78
79 fn try_from(value: u8) -> Result<Self, Self::Error> {
80 match value {
81 0 => Ok(DedicatedServerReinstallStep::RebootingServer),
82 1 => Ok(DedicatedServerReinstallStep::PreparingBootEnvironment),
83 2 => Ok(DedicatedServerReinstallStep::InstallingOperatingSystem),
84 3 => Ok(DedicatedServerReinstallStep::InstallationCompleted),
85 _ => Err("unknown DedicatedServerReinstallStep data"),
86 }
87 }
88}
89
90impl From<DedicatedServerReinstallStep> for u8 {
91 fn from(step: DedicatedServerReinstallStep) -> Self {
92 step as u8
93 }
94}
95
96#[derive(Debug, Serialize, Deserialize)]
97#[serde(rename_all = "camelCase")]
98pub struct DedicatedServerReinstallStatus {
99 pub completed: bool,
100 pub step: DedicatedServerReinstallStep,
101}