Skip to main content

ripestat_common/resources/
allocation_history.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
4pub struct AllocationHistoryRequest {
5    pub resource: String,
6    pub starttime: Option<String>,
7    pub endtime: Option<String>,
8}
9
10#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
11pub struct AllocationTimeline {
12    pub starttime: String,
13    pub endtime: String,
14}
15
16#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
17pub struct Allocation {
18    pub resource: String,
19    pub status: String,
20    pub timelines: Vec<AllocationTimeline>,
21}
22
23#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
24pub struct AllocationHistoryResults {
25    #[serde(rename = "IANA")]
26    pub iana: Option<Vec<Allocation>>,
27
28    #[serde(rename = "AFRINIC")]
29    pub afrinic: Option<Vec<Allocation>>,
30
31    #[serde(rename = "APNIC")]
32    pub apnic: Option<Vec<Allocation>>,
33
34    #[serde(rename = "ARIN")]
35    pub arin: Option<Vec<Allocation>>,
36
37    #[serde(rename = "LACNIC")]
38    pub lacnic: Option<Vec<Allocation>>,
39
40    #[serde(rename = "RIPE NCC")]
41    pub ripe_ncc: Option<Vec<Allocation>>,
42}
43
44#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
45pub struct AllocationHistoryResponse {
46    pub results: AllocationHistoryResults,
47    pub resource: String,
48    pub query_starttime: String,
49    pub query_endtime: String,
50}