Skip to main content

ripestat_common/resources/
bgp_updates.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
4pub struct BgpUpdatesRequest {
5    pub resource: String,
6    pub starttime: Option<String>,
7    pub endtime: Option<String>,
8    pub rrcs: Option<String>,
9    pub unix_timestamps: Option<bool>,
10}
11
12#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
13pub struct BgpUpdatesResponse {
14    pub resource: String,
15    pub query_starttime: String,
16    pub query_endtime: String,
17    pub updates: Vec<Update>,
18    pub nr_updates: i64,
19}
20
21#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
22pub struct Update {
23    pub seq: i64,
24    pub timestamp: String,
25    #[serde(rename = "type")]
26    pub update_type: String,
27    pub attrs: Attrs,
28}
29
30#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
31pub struct Attrs {
32    pub source_id: String,
33    pub target_prefix: String,
34    pub path: Vec<i64>,
35    pub community: Vec<String>,
36}