1#[derive(Debug, Default, Clone)]
2pub struct Region {
3 pub name: &'static str,
4 pub code: &'static str,
5 pub group: &'static str,
6 pub opt_in: bool,
7 pub latency_ms: Option<u64>,
8}
9
10impl Region {
11 pub fn all() -> Vec<Self> {
12 vec![
13 Region {
14 name: "N. Virginia",
15 code: "us-east-1",
16 group: "United States",
17 ..Default::default()
18 },
19 Region {
20 name: "Ohio",
21 code: "us-east-2",
22 group: "United States",
23 ..Default::default()
24 },
25 Region {
26 name: "N. California",
27 code: "us-west-1",
28 group: "United States",
29 ..Default::default()
30 },
31 Region {
32 name: "Oregon",
33 code: "us-west-2",
34 group: "United States",
35 ..Default::default()
36 },
37 Region {
38 name: "Cape Town",
39 code: "af-south-1",
40 group: "Africa",
41 opt_in: true,
42 ..Default::default()
43 },
44 Region {
45 name: "Hong Kong",
46 code: "ap-east-1",
47 group: "Asia Pacific",
48 opt_in: true,
49 ..Default::default()
50 },
51 Region {
52 name: "Hyderabad",
53 code: "ap-south-2",
54 group: "Asia Pacific",
55 opt_in: true,
56 ..Default::default()
57 },
58 Region {
59 name: "Jakarta",
60 code: "ap-southeast-3",
61 group: "Asia Pacific",
62 opt_in: true,
63 ..Default::default()
64 },
65 Region {
66 name: "Malaysia",
67 code: "ap-southeast-5",
68 group: "Asia Pacific",
69 opt_in: true,
70 ..Default::default()
71 },
72 Region {
73 name: "Melbourne",
74 code: "ap-southeast-4",
75 group: "Asia Pacific",
76 opt_in: true,
77 ..Default::default()
78 },
79 Region {
80 name: "Mumbai",
81 code: "ap-south-1",
82 group: "Asia Pacific",
83 ..Default::default()
84 },
85 Region {
86 name: "New Zealand",
87 code: "ap-southeast-6",
88 group: "Asia Pacific",
89 opt_in: true,
90 ..Default::default()
91 },
92 Region {
93 name: "Osaka",
94 code: "ap-northeast-3",
95 group: "Asia Pacific",
96 ..Default::default()
97 },
98 Region {
99 name: "Seoul",
100 code: "ap-northeast-2",
101 group: "Asia Pacific",
102 ..Default::default()
103 },
104 Region {
105 name: "Singapore",
106 code: "ap-southeast-1",
107 group: "Asia Pacific",
108 ..Default::default()
109 },
110 Region {
111 name: "Sydney",
112 code: "ap-southeast-2",
113 group: "Asia Pacific",
114 ..Default::default()
115 },
116 Region {
117 name: "Taipei",
118 code: "ap-east-2",
119 group: "Asia Pacific",
120 opt_in: true,
121 ..Default::default()
122 },
123 Region {
124 name: "Thailand",
125 code: "ap-southeast-7",
126 group: "Asia Pacific",
127 opt_in: true,
128 ..Default::default()
129 },
130 Region {
131 name: "Tokyo",
132 code: "ap-northeast-1",
133 group: "Asia Pacific",
134 ..Default::default()
135 },
136 Region {
137 name: "Central",
138 code: "ca-central-1",
139 group: "Canada",
140 ..Default::default()
141 },
142 Region {
143 name: "Calgary",
144 code: "ca-west-1",
145 group: "Canada West",
146 opt_in: true,
147 ..Default::default()
148 },
149 Region {
150 name: "Frankfurt",
151 code: "eu-central-1",
152 group: "Europe",
153 ..Default::default()
154 },
155 Region {
156 name: "Ireland",
157 code: "eu-west-1",
158 group: "Europe",
159 ..Default::default()
160 },
161 Region {
162 name: "London",
163 code: "eu-west-2",
164 group: "Europe",
165 ..Default::default()
166 },
167 Region {
168 name: "Milan",
169 code: "eu-south-1",
170 group: "Europe",
171 opt_in: true,
172 ..Default::default()
173 },
174 Region {
175 name: "Paris",
176 code: "eu-west-3",
177 group: "Europe",
178 ..Default::default()
179 },
180 Region {
181 name: "Spain",
182 code: "eu-south-2",
183 group: "Europe",
184 opt_in: true,
185 ..Default::default()
186 },
187 Region {
188 name: "Stockholm",
189 code: "eu-north-1",
190 group: "Europe",
191 ..Default::default()
192 },
193 Region {
194 name: "Zurich",
195 code: "eu-central-2",
196 group: "Europe",
197 opt_in: true,
198 ..Default::default()
199 },
200 Region {
201 name: "Tel Aviv",
202 code: "il-central-1",
203 group: "Israel",
204 opt_in: true,
205 ..Default::default()
206 },
207 Region {
208 name: "Central",
209 code: "mx-central-1",
210 group: "Mexico",
211 opt_in: true,
212 ..Default::default()
213 },
214 Region {
215 name: "Bahrain",
216 code: "me-south-1",
217 group: "Middle East",
218 opt_in: true,
219 ..Default::default()
220 },
221 Region {
222 name: "UAE",
223 code: "me-central-1",
224 group: "Middle East",
225 opt_in: true,
226 ..Default::default()
227 },
228 Region {
229 name: "São Paulo",
230 code: "sa-east-1",
231 group: "South America",
232 ..Default::default()
233 },
234 ]
235 }
236}