upcloud_rs/data/
prices.rs1use std::collections::HashMap;
2
3use serde::Deserialize;
4
5#[derive(Deserialize, Debug)]
6pub struct UpcloudPricesListRoot {
7 pub prices: UpcloudPricesZoneRoot,
8}
9
10#[derive(Deserialize, Debug)]
11pub struct UpcloudPricesZoneRoot {
12 pub zone: Vec<UpcloudPricesZone>,
13}
14
15#[derive(Deserialize, Debug)]
16pub struct UpcloudPricesZone {
17 pub name: String,
18 pub firewall: UpcloudPrice,
19 pub io_request_backup: UpcloudPrice,
20 pub io_request_hdd: UpcloudPrice,
21 pub io_request_maxiops: UpcloudPrice,
22 pub ipv4_address: UpcloudPrice,
23 pub ipv6_address: UpcloudPrice,
24 pub public_ipv4_bandwidth_in: UpcloudPrice,
25 pub public_ipv4_bandwidth_out: UpcloudPrice,
26 pub public_ipv6_bandwidth_in: UpcloudPrice,
27 pub public_ipv6_bandwidth_out: UpcloudPrice,
28 pub server_core: UpcloudPrice,
29 pub server_memory: UpcloudPrice,
30 pub storage_backup: UpcloudPrice,
31 pub storage_hdd: UpcloudPrice,
32 pub storage_maxiops: UpcloudPrice,
33 #[serde(flatten)]
34 pub extra: HashMap<String, UpcloudPrice>,
35}
36
37#[derive(Deserialize, Debug)]
38pub struct UpcloudPrice {
39 pub amount: f32,
41 pub price: f32,
43}