linode_api/objects/v4/linode_instances/
linode.rs1use serde::{Deserialize, Serialize};
2use serde_enum_str::{Deserialize_enum_str, Serialize_enum_str};
3use serde_json::{Map, Value};
4
5wrapping_macro::wrapping_int! {
7 #[derive(Deserialize, Serialize, Debug, Clone, Copy)]
8 pub struct LinodeId(pub u64);
9}
10
11#[derive(Deserialize, Serialize, Debug, Clone)]
13pub struct Linode {
14 pub id: LinodeId,
15 pub label: String,
16 pub status: LinodeStatus,
17 #[serde(flatten)]
18 pub _extra: Map<String, Value>,
19}
20
21#[derive(Deserialize_enum_str, Serialize_enum_str, Debug, Clone, PartialEq, Eq)]
23#[serde(rename_all = "snake_case")]
24pub enum LinodeStatus {
25 Running,
26 Offline,
27 Booting,
28 Rebooting,
29 ShuttingDown,
30 Provisioning,
31 Deleting,
32 Migrating,
33 Rebuilding,
34 Cloning,
35 Restoring,
36 Stopped,
37 #[serde(other)]
38 Other(String),
39}