linode_api/objects/v4/linode_instances/
disk.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 DiskId(pub u64);
9}
10
11#[derive(Deserialize, Serialize, Debug, Clone)]
13pub struct Disk {
14 pub id: DiskId,
15 pub label: String,
16 pub status: DiskStatus,
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 DiskStatus {
25 Ready,
26 #[serde(rename = "not ready")]
27 NotReady,
28 Deleting,
29 #[serde(other)]
30 Other(String),
31}