avina_wire/resources/
usage.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
4pub struct CloudUsageOverviewInner {
5 pub total: u64,
6 pub used: u64,
7}
8
9#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
10pub struct CloudUsageOverviewInnerFloat {
11 pub total: f64,
12 pub used: f64,
13}
14
15#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
16pub struct CloudUsageOverview {
17 pub vcpus: CloudUsageOverviewInner,
18 pub ram: CloudUsageOverviewInner,
19 pub gpus: CloudUsageOverviewInner,
20 pub storage: CloudUsageOverviewInnerFloat,
21 pub mwn_ips: CloudUsageOverviewInner,
22 pub www_ips: CloudUsageOverviewInner,
23}
24
25#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
26pub struct CloudUsageFlavorSlot {
27 pub name: String,
28 pub free: u32,
29 pub total: u32,
30}
31
32#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
33pub struct CloudUsageAggregate {
34 pub name: String,
35 pub title: String,
36 pub flavors: Vec<CloudUsageFlavorSlot>,
37}
38
39#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
41pub struct CloudUsage {
42 pub overview: CloudUsageOverview,
43 pub lrz_flavor_slots: Vec<CloudUsageAggregate>,
44 pub ach_flavor_slots: Vec<CloudUsageAggregate>,
45 pub other_flavor_slots: Vec<CloudUsageAggregate>,
46 pub datetime: String,
47}