ripestat-common 0.0.5

Common structs/enums for the RIPEstat API
Documentation
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct AllocationHistoryRequest {
    pub resource: String,
    pub starttime: Option<String>,
    pub endtime: Option<String>,
}

#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct AllocationTimeline {
    pub starttime: String,
    pub endtime: String,
}

#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct Allocation {
    pub resource: String,
    pub status: String,
    pub timelines: Vec<AllocationTimeline>,
}

#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct AllocationHistoryResults {
    #[serde(rename = "IANA")]
    pub iana: Option<Vec<Allocation>>,

    #[serde(rename = "AFRINIC")]
    pub afrinic: Option<Vec<Allocation>>,

    #[serde(rename = "APNIC")]
    pub apnic: Option<Vec<Allocation>>,

    #[serde(rename = "ARIN")]
    pub arin: Option<Vec<Allocation>>,

    #[serde(rename = "LACNIC")]
    pub lacnic: Option<Vec<Allocation>>,

    #[serde(rename = "RIPE NCC")]
    pub ripe_ncc: Option<Vec<Allocation>>,
}

#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct AllocationHistoryResponse {
    pub results: AllocationHistoryResults,
    pub resource: String,
    pub query_starttime: String,
    pub query_endtime: String,
}