scaleway-rs 0.2.3

A pure Rust scaleway API binding.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum FlexibleIpType {
    UnknownIptype,
    RoutedIpv4,
    RoutedIpv6,
}

#[derive(Deserialize, Debug)]
pub struct ScalewayFlexibleIpsRoot {
    pub ips: Vec<ScalewayFlexibleIp>,
    pub total_count: u64,
}

#[derive(Deserialize, Debug)]
pub struct ScalewayFlexibleIpRoot {
    pub ip: ScalewayFlexibleIp,
}

#[derive(Deserialize, Debug)]
pub struct ScalewayFlexibleIp {
    pub id: String,
    pub address: Option<String>,
    pub reverse: Option<String>,
    pub server: Option<ScalewayFlexibleIpServerRef>,
    pub organization: String,
    pub project: String,
    pub tags: Vec<String>,
    #[serde(rename = "type")]
    pub ip_type: FlexibleIpType,
    pub state: String,
    pub prefix: Option<String>,
    pub ipam_id: Option<String>,
    pub zone: String,
}

#[derive(Deserialize, Debug)]
pub struct ScalewayFlexibleIpServerRef {
    pub id: String,
    pub name: String,
}