linode_api/objects/v4/linode_instances/
disk.rs

1use serde::{Deserialize, Serialize};
2use serde_enum_str::{Deserialize_enum_str, Serialize_enum_str};
3use serde_json::{Map, Value};
4
5//
6wrapping_macro::wrapping_int! {
7    #[derive(Deserialize, Serialize, Debug, Clone, Copy)]
8    pub struct DiskId(pub u64);
9}
10
11//
12#[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//
22#[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}