1 | |
2 | |
3 | * List Azure AKS available instance types |
4 | * |
5 | */ |
6 | export async function main( |
7 | auth: RT.Qovery, |
8 | region: string, |
9 | only_meets_resource_reqs?: string | undefined, |
10 | with_gpu?: string | undefined, |
11 | gpu?: 'ONLY' | 'INCLUDE' | 'EXCLUDE' | undefined |
12 | ) { |
13 | const url = new URL(`https://api.qovery.com/azure/aks/instanceType/${region}`) |
14 | for (const [k, v] of [ |
15 | ['only_meets_resource_reqs', only_meets_resource_reqs], |
16 | ['with_gpu', with_gpu], |
17 | ['gpu', gpu] |
18 | ]) { |
19 | if (v !== undefined && v !== '') { |
20 | url.searchParams.append(k, v) |
21 | } |
22 | } |
23 | const response = await fetch(url, { |
24 | method: 'GET', |
25 | headers: { |
26 | Authorization: 'Token ' + auth.apiKey |
27 | }, |
28 | body: undefined |
29 | }) |
30 | if (!response.ok) { |
31 | const text = await response.text() |
32 | throw new Error(`${response.status} ${text}`) |
33 | } |
34 | return await response.json() |
35 | } |
36 |
|