Skip to main content

ripestat_common/resources/
rpki_history.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
4pub struct RpkiHistoryRequest {
5    pub resource: String,
6    pub family: Option<i64>,
7    pub resolution: Option<String>,
8    pub include: Option<String>,
9    pub delegated: Option<bool>,
10}
11
12#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
13pub struct RpkiHistoryResponse {
14    pub timeseries: Vec<Series>,
15    pub resource: String,
16    pub delegated: bool,
17}
18
19#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
20pub struct Series {
21    pub cc: String,
22    pub time: String,
23    pub delegated: Delegated,
24    pub warnings: Vec<Warning>,
25    pub family: i64,
26    pub rpki: Rpki,
27}
28
29#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
30pub struct Delegated {
31    pub prefixes: RpkiPrefixes,
32    pub space: Space,
33    pub samples: i64,
34}
35
36#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
37pub struct RpkiPrefixes {
38    pub count: f64,
39    pub covered_by_rpki: CoveredByRpki,
40}
41
42#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
43pub struct Space {
44    pub count: f64,
45    pub covered_by_rpki: CoveredByRpki,
46}
47
48#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
49pub struct CoveredByRpki {
50    pub count: f64,
51}
52
53#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
54pub struct Warning {
55    pub dimension: String,
56    pub reason: String,
57    pub source: String,
58    pub comment: String,
59}
60
61#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
62pub struct Rpki {
63    pub vrp_count: i64,
64}