#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Pop {
#[serde(rename = "code")]
pub code: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "group")]
pub group: String,
#[serde(rename = "region")]
pub region: Region,
#[serde(rename = "stats_region")]
pub stats_region: StatsRegion,
#[serde(rename = "billing_region")]
pub billing_region: BillingRegion,
#[serde(rename = "coordinates", skip_serializing_if = "Option::is_none")]
pub coordinates: Option<Box<crate::models::PopCoordinates>>,
#[serde(rename = "shield", skip_serializing_if = "Option::is_none")]
pub shield: Option<String>,
}
impl Pop {
pub fn new(code: String, name: String, group: String, region: Region, stats_region: StatsRegion, billing_region: BillingRegion) -> Pop {
Pop {
code,
name,
group,
region,
stats_region,
billing_region,
coordinates: None,
shield: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Region {
#[serde(rename = "APAC")]
APAC,
#[serde(rename = "Asia")]
Asia,
#[serde(rename = "AF-West")]
AFWest,
#[serde(rename = "EU-Central")]
EUCentral,
#[serde(rename = "EU-East")]
EUEast,
#[serde(rename = "EU-West")]
EUWest,
#[serde(rename = "Middle-East")]
MiddleEast,
#[serde(rename = "North-America")]
NorthAmerica,
#[serde(rename = "SA-South")]
SASouth,
#[serde(rename = "SA-East")]
SAEast,
#[serde(rename = "SA-West")]
SAWest,
#[serde(rename = "SA-North")]
SANorth,
#[serde(rename = "South-Africa")]
SouthAfrica,
#[serde(rename = "South-America")]
SouthAmerica,
#[serde(rename = "US-Central")]
USCentral,
#[serde(rename = "US-East")]
USEast,
#[serde(rename = "US-West")]
USWest,
#[serde(rename = "Asia-South")]
AsiaSouth,
}
impl Default for Region {
fn default() -> Region {
Self::APAC
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum StatsRegion {
#[serde(rename = "southamerica_std")]
SouthamericaStd,
#[serde(rename = "africa_std")]
AfricaStd,
#[serde(rename = "anzac")]
Anzac,
#[serde(rename = "asia")]
Asia,
#[serde(rename = "europe")]
Europe,
#[serde(rename = "usa")]
Usa,
#[serde(rename = "asia_india")]
AsiaIndia,
#[serde(rename = "asia_southkorea")]
AsiaSouthkorea,
}
impl Default for StatsRegion {
fn default() -> StatsRegion {
Self::SouthamericaStd
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BillingRegion {
#[serde(rename = "Africa")]
Africa,
#[serde(rename = "Australia")]
Australia,
#[serde(rename = "Asia")]
Asia,
#[serde(rename = "Europe")]
Europe,
#[serde(rename = "India")]
India,
#[serde(rename = "North America")]
NorthAmerica,
#[serde(rename = "South Korea")]
SouthKorea,
#[serde(rename = "South America")]
SouthAmerica,
}
impl Default for BillingRegion {
fn default() -> BillingRegion {
Self::Africa
}
}