upcloud_rs/data/
account.rs

1use serde::Deserialize;
2
3#[derive(Deserialize, Debug)]
4pub struct UpcloudAccountsListRoot {
5    pub accounts: UpcloudAccountListRoot,
6}
7
8#[derive(Deserialize, Debug)]
9pub struct UpcloudAccountListRoot {
10    pub account: Vec<UpcloudAccountsListItem>,
11}
12
13#[derive(Deserialize, Debug)]
14pub struct UpcloudAccountsListItem {
15    #[serde(rename = "type")]
16    pub account_type: String,
17    pub username: String,
18    pub roles: UpcloudRoleRoot,
19}
20
21#[derive(Deserialize, Debug)]
22pub struct UpcloudRoleRoot {
23    pub role: Vec<String>,
24}
25
26#[derive(Deserialize, Debug)]
27pub struct UpcloudAccountRoot {
28    pub account: UpcloudAccount,
29}
30
31#[derive(Deserialize, Debug)]
32pub struct UpcloudAccountResources {
33    pub cores: f32,
34    pub detached_floating_ips: Option<f32>,
35    pub memory: f32,
36    pub networks: u32,
37    pub public_ipv4: u32,
38    pub public_ipv6: u64,
39    pub storage_hdd: f32,
40    pub storage_maxiops: Option<f32>,
41    pub storage_ssd: f32,
42}
43
44#[derive(Deserialize, Debug)]
45pub struct UpcloudAccount {
46    pub credits: f32,
47    pub resource_limits: UpcloudAccountResources,
48    pub username: String
49}