ripestat_common/resources/
ris_peerings.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
4pub struct RisPeeringsRequest {
5 pub resource: String,
6 pub query_time: Option<String>,
7}
8
9#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
10pub struct RisPeeringsResponse {
11 pub peerings: Vec<Peering>,
12 pub resource: String,
13 pub query_starttime: String,
14 pub query_endtime: String,
15}
16
17#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
18pub struct Peering {
19 pub probe: RisAtlasProbe,
20 pub peers: Vec<RisPeeringsPeer>,
21}
22
23#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
24pub struct RisAtlasProbe {
25 pub city: String,
26 pub country: String,
27 pub longitude: f64,
28 pub latitude: f64,
29 pub name: String,
30 pub ipv4_peer_count: i64,
31 pub ipv6_peer_count: i64,
32 pub ixp: String,
33}
34
35#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
36pub struct RisPeeringsPeer {
37 pub asn: i64,
38 pub ip: String,
39 pub ip_version: String,
40 pub table_version: String,
41 pub prefix_count: i64,
42 pub routes: Vec<PeerRoute>,
43}
44
45#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
46pub struct PeerRoute {
47 pub as_path: Vec<i64>,
48}