Skip to main content

ripestat_common/resources/
atlas_targets.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
4pub struct AtlasTargetsRequest {
5    pub resource: String,
6}
7
8#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
9pub struct AtlasTargetsResponse {
10    pub measurements: Vec<AtlasMeasurement>,
11    pub stats: AtlasTargetsStats,
12    pub resource: String,
13    pub authenticated: bool,
14    pub cache: Option<bool>,
15}
16
17#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
18pub struct AtlasMeasurement {
19    pub af: i64,
20    pub msm_id: i64,
21    pub stop_time: Option<i64>,
22    pub start_time: i64,
23    pub dst_name: String,
24    pub dst_addr: String,
25    pub dst_asn: Option<i64>,
26    pub status: Status,
27    #[serde(rename = "type")]
28    pub type_field: Type,
29    pub creation_time: i64,
30    pub description: String,
31    pub result: String,
32    pub size: Option<i64>,
33    pub is_public: bool,
34    pub participant_count: Option<i64>,
35}
36
37#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
38pub struct Status {
39    pub name: String,
40    pub id: i64,
41    pub when: Option<i64>,
42}
43
44#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
45pub struct Type {
46    pub name: String,
47}
48
49#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
50pub struct AtlasTargetsStats {
51    pub total: i64,
52}