upload_things/
region.rs

1#[derive(serde::Serialize, serde::Deserialize, Clone, PartialEq, Eq, Debug, Hash)]
2pub enum UploadRegion {
3    AsiaMumbai,
4    AsiaSeoul,
5    AsiaSydney,
6    CanadaCentral,
7    EuCentralFrankfurt,
8    EuCentralZurich,
9    EuWestDublin,
10    UsEastOhio,
11    UsWestSanFrancisco,
12    UsWestSeattle,
13}
14impl Default for UploadRegion {
15    fn default() -> Self {
16        Self::UsWestSeattle
17    }
18}
19impl UploadRegion {
20    pub fn alias(&self) -> &'static str {
21        match self {
22            Self::AsiaMumbai => "bom1",
23            Self::AsiaSeoul => "icn1",
24            Self::AsiaSydney => "syd1",
25            Self::CanadaCentral => "can1",
26            Self::EuCentralFrankfurt => "fra1",
27            Self::EuCentralZurich => "zrh1",
28            Self::EuWestDublin => "dub1",
29            Self::UsEastOhio => "cle1",
30            Self::UsWestSanFrancisco => "sfo1",
31            Self::UsWestSeattle => "sea1",
32        }
33    }
34}
35
36impl Into<&str> for UploadRegion {
37    fn into(self) -> &'static str {
38        match self {
39            Self::AsiaMumbai => "asia-mumbai",
40            Self::AsiaSeoul => "asia-seoul",
41            Self::AsiaSydney => "asia-sydney",
42            Self::CanadaCentral => "canada-central",
43            Self::EuCentralFrankfurt => "eu-central-frankfurt",
44            Self::EuCentralZurich => "eu-central-zurich",
45            Self::EuWestDublin => "eu-west-dublin",
46            Self::UsEastOhio => "us-east-ohio",
47            Self::UsWestSanFrancisco => "us-west-san-francisco",
48            Self::UsWestSeattle => "us-west-seattle",
49        }
50    }
51}