Skip to main content

linode_rs/data/
linode_types.rs

1use serde::Deserialize;
2
3#[derive(Deserialize, Debug)]
4pub struct LinodeTypeListRoot {
5    pub data: Vec<LinodeType>,
6    pub page: u32,
7    pub pages: u32,
8    pub results: u32,
9}
10
11#[derive(Deserialize, Debug)]
12pub struct LinodeType {
13    pub addons: LinodeTypeAddons,
14    pub class: String,
15    pub disk: u64,
16    pub gpus: u64,
17    pub id: String,
18    pub label: String,
19    pub memory: u64,
20    pub network_out: u64,
21    pub price: LinodeTypePrice,
22    pub region_prices: Vec<LinodeTypeRegionPrice>,
23    pub successor: Option<String>,
24    pub transfer: u64,
25    pub vcpus: u64,
26}
27
28#[derive(Deserialize, Debug)]
29pub struct LinodeTypePrice {
30    pub hourly: f32,
31    pub monthly: f32,
32}
33
34#[derive(Deserialize, Debug)]
35pub struct LinodeTypeRegionPrice {
36    pub hourly: f32,
37    pub id: String,
38    pub monthly: f32,
39}
40
41#[derive(Deserialize, Debug)]
42pub struct LinodeTypeAddons {
43    pub backups: LinodeTypeAddon,
44}
45
46#[derive(Deserialize, Debug)]
47pub struct LinodeTypeAddon {
48    pub price: LinodeTypePrice,
49    pub region_prices: Vec<LinodeTypeRegionPrice>,
50}