Skip to main content

ripestat_common/resources/
looking_glass.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
4pub struct LookingGlassRequest {
5    pub resource: String,
6    pub look_back_limit: Option<String>,
7}
8
9#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
10pub struct LookingGlassResponse {
11    pub rrcs: Vec<LookingGlassRrc>,
12    pub query_time: String,
13    pub latest_time: String,
14    pub parameters: LookingGlassParameters,
15}
16
17#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
18pub struct LookingGlassRrc {
19    pub rrc: String,
20    pub location: String,
21    pub peers: Vec<LookingGlassPeer>,
22}
23
24#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
25pub struct LookingGlassPeer {
26    pub asn_origin: String,
27    pub as_path: String,
28    pub community: String,
29    pub large_community: String,
30    pub extended_community: String,
31    pub last_updated: String,
32    pub prefix: String,
33    pub peer: String,
34    pub origin: String,
35    pub next_hop: String,
36    pub latest_time: String,
37}
38
39#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
40pub struct LookingGlassParameters {
41    pub resource: String,
42    pub look_back_limit: i64,
43    pub cache: Option<bool>,
44}