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}