From 24bf54d1bb17e06464fcef3c6369a26d08809780 Mon Sep 17 00:00:00 2001 From: masterwendu Date: Mon, 16 Oct 2023 16:36:58 +0200 Subject: [PATCH] Add Exoscale zone Module (#87) --- .icons/exoscale.svg | 1 + .images/exoscale-custom.png | Bin 0 -> 28119 bytes .images/exoscale-exclude.png | Bin 0 -> 21069 bytes .images/exoscale-zones.png | Bin 0 -> 27758 bytes exoscale-zone/README.md | 93 +++++++++++++++++++++++++++++ exoscale-zone/main.test.ts | 25 ++++++++ exoscale-zone/main.tf | 110 +++++++++++++++++++++++++++++++++++ 7 files changed, 229 insertions(+) create mode 100644 .icons/exoscale.svg create mode 100644 .images/exoscale-custom.png create mode 100644 .images/exoscale-exclude.png create mode 100644 .images/exoscale-zones.png create mode 100644 exoscale-zone/README.md create mode 100644 exoscale-zone/main.test.ts create mode 100644 exoscale-zone/main.tf diff --git a/.icons/exoscale.svg b/.icons/exoscale.svg new file mode 100644 index 0000000..c56a615 --- /dev/null +++ b/.icons/exoscale.svg @@ -0,0 +1 @@ +Artboard 1 \ No newline at end of file diff --git a/.images/exoscale-custom.png b/.images/exoscale-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..3646c8cb24729033dd58bdc05f2de71c0b676339 GIT binary patch literal 28119 zcmd?R2T)W|*d_Q76-5OFNg^Owa*~`RXONshKyuC!8wDhTNY0XT&apv2a*`Zda?ZI) zd;Mqs+1Z_$s@0PU?)wlWQhw7!O6Zjf0yA^FCHf;Da%W*O z0+ZKtFqyluHI2>j8xdCN@cZ|VNY~nra(R883&S4%CJ_#lGPox7i+}n5gSRZz2IwO6 z>J0mn5mySX_tOP^?3aedI=<^9PhVP&36kGAO|~d1s!`yXiu=QNN7aZh7}kw`DZ|m& zPIGQNVe%<<_D*Hm<(@r5oc_ZwjM=okRwgxl#P@`l8yMxYXRrb`IIg`J1(uYKtka3v zY0~6i>1^3}-|V^ROq2I$X3pAZNL(pQmHGt|)1c}iL_w03Rr4g*<4}7TBTSTRdUv6w zZKl^{b}cOw?s49{KYxBJMkKl+_|0D4+oQFohX9*El5sGZ%Ya_-=a}MJUTD5GW zhCQ7L!NKjsW%|`l?p(!AEKtWl zMTHK%e*HS4X}?IXKGa_{_%j|Q1LdNV-M(7VGpMy~aBq3lpv6v)p#J(WYW?fIdsn+w zwN^EIbLI8lkhQjYN{Wh4F@n1L`qFGocGex^0&)?q5rH95zMn@H7BC=*%G*x5Vz8O^_>JPgmus=Vmeqli?)=Bv+EX;MT^wFaO*J&zh>fE%Uc^ur3SuJf; z-(M7z9YjPs$ryXtrH;p2Zjhv`bYx_#1Gm%1A0=v~Ehvv}V(=Mm#q;u;+;0QVoHwtf zGOo+-jssm4GbIX##*%7=Y|x;ch3(;mg~8vy-G{v~gG6U+8Yit5kMh}`l3WQAwszHe ztgAu8;}aB-l5wRAIhCZ118WI7I9k;DJg09jQfxKkpNY! zZ%T?8HS=4i?!Q7>iOW&SO4OkwPayS@2IYJe$PVr`+2)OTlh5*uCA!glSIx+X9HOAi z{pR;gAvKF%O8v@cEpD0u-lY(PM{4lmcpy|vtOZsOKCB-yvc$wkR?wIq(UBG1op&z! zTBpt_?Cnb|touG+zmjROFP%aH0xm8!9;uiC7z9mIp0_m&gwW6W`swX-L>Tticn2y-fdDY2`wQ!M?%(Gl44cyzDGT^ML-vGA~^^%=?N$L2>m zJp(i6yDH6k3Wm#Ep*Qptk08fqr|Yk_?(})de!bq=xw$%q-s^dzC{E4Hs3|Ft(b0|8 zAC}sRkrq?He?Eu&Hj&4djyG{GT3RSR{{AC_#Ltxhl5T%NN>(2(|E{X4va_=*(ynv> z6AAjDsrdl<^XEsE1uLr(^g&yDa%ScsbcTk>OXQ-gsz}V~GWO7t?%4m>!Qn_grT&AW z;$ukZ2UgXy)m7u^>8T3GBehbU28Yfcbr&5e9y?J{qZAY!4NW7Z4GrHumw!&6^t#Md zsMbA8i`^mKi_4Wu`NZccFKKokQc)d;-n%2ad+Y5umHuR$Wxo1|h1leBTaGL;ndm%HGV58AOIA+K_Rz%W$OPomk+o7# zV1eR&+ZocLV_&IPi4HA1ypP)YN+v{`lTi*|a8JbQ`Z8p)i5Pj$rz-kBbpQT0s8u?I zvP0G%3`}o5 zwjLju*zio8YZEe6NB6I=YYEC&Vul_)euf6=2`u>eQDhLgaZevEi&vIa+-nV(`V28A zov-$0wpsCGV1zR!JwwMp^@*X2wR3bt^#Q9Oc1;v|^yul{Ze!>$3_UaKHZUI(i8ZTx zCD`$siJ6Vybf`OT1D{0yF1VN0R^ePk{>qtp$j01y-g4jREIMgB($_KU>HYf`s?j)> zmfILa+z+8Nf$@QO0ZpT&x^*T!M|=CNf%u7qg}vQle8|RaPT$HVCyR@Zbw|!bZBTH_ zf&y!E=dy2icXwZ~qohp3s&d->XHzoR^fnZ?bX}^et9O0c7qPoA5XW_A9L#aCjJQ}&SDCyO(YdlepzS(_on_g_ORQdf$wd;MfB=WD{85P zOswYb-&CPUQ@`lwj;LIw6O*Ksl{J*s`71p_j{WZ5!GwHH>mMa9Do&x(!XaRZL&I}( zd;k>-CvB>g-+~@(v`<$i5~jwcGXaqVqs&EYHLDIPcNEm?7BI~Uz&|;iG>wa z%}y!jTp{^W_`8al zn(jgO?upQ=Y363-O6kgl+1qGRcYQlnRR z;||94M(w?HI8l(g+26E1RAkr%+EaWmUcA(CvW#dDnEzAfZ8ykMWnz}pZVA75+{~2g z3=CX`ch!j6!h!~>H_Ua_*{Tu}mHKdRy@i%|uSbg;5r+&~A1%r~51IW*DX?fbIT73G z`}I%M1Kq6s;tBqP^0Lf~p$R`a#rnU;e_7mSv9; zj!zq9?OlVq#|H#lX5H{nmNA0m>!JNcUl%K|nUtAr(n@<=@keY!!xLxgchz)k>3&?R9 zbSWtrl9Hk>Ps%ZGXysCR#HpU#_ZLNf;;`>ACo3O{>a)rAY)m{{S}K^6Ra25Il8jt< zu2i3bN2;_>w=uQpVksZ7ji(UEqc*_-7RtH;Nw#%1zjzS6o?orHF9oSU1Y1NY1+s=5zxadFG7B`A#j*&XUj zN{IA6p1J&W&4)af&=4)kd$Zr`ugpE20JZk^S~PqNI?FN#95=rwh?ui9ItJJEvm>J( z-1XN0H#_&2&uqsI6*-#(-!&w^*y=6V!^vo=?05QcpsD)F{OW4wOW}5m0Njf;|BN36 zn_nqW(Vm%`<-x9ymm&(78OGx;wq(?cUcA7ej*FRVvF9dbGzs#LS+Ej;4i4PiSFd|~ zIGH%CXGIw4{>^PW%JJPKdOUhP#rU-Cn`(a}(-QE5M*_6>pof?QHJ>jnE`@vr$HzV+ z;6zv_ImZzMHwsKpkzQkde*WgfX-LYIY!wx!ot>QX>M?Z-QyTx?_2@;dL9!)`KPrll zf|hEr4sq5WM2`K=iAo{qF$6HV#sv-KBZ84oJ=e=O;Ay3n>8P7FhWub;=5LDo45FNOI*RooyhTM;H6BDXDqFYn908a!J>5OpwlhN7yw=~m z&FordVnRGg7HTUN=-*Pv!mVXb8s}#xP+NODsqltgqxl@Znvqf0a9gM^_Zm&CElsnX zuZJJ2Qb^Gx>^5Th1>Cnmd^+uz^!QT$zMH8|qQg#uQ?w@^hXiVs%+94x@3{~Wzj|l$6?gaJ9RZsF-@EVL?H5yKQZ(i$LZr|K zH6o$(D!M{%H;1ULN2hg|Bm5+B6yyQCqZkcqNgyp=(q&RaKw$)=^ z;*}t*WISN8#X8&0`x9q!YT)}kFdNWA0`K`;R*Y|D{w8weHmfyKw%*ODN0iE6Ka89r=q3p_B$rP|1xv z@w{@#9RCyS;NVJxjr(H083Cr{?+KIQtLi5*^hLkrhPSSbCQy+A*u|Y*fi=~dptQQI zKgN|C9o=_3hNDz==v!L$Rm+$HurV~s_=>8Jsjh+oRYzvl)z=TDI59BNb`SLMIPVO{ zAHKTz{F%o}hAh%Xk6&LU9x?m@F;B(EcT??@tHKSf1eeh}lh={8r*5o=|plHAOtNwXpI$J~CG|UVZMrcrvS$KQ=L;w)B2x zb{1-F9Ufb6OUZLJSY7$U$&~i(VRH(5S6w@C?qEC)A@)tjP-C*rDw zz}4=Px6}3ZfOUd_`FLzBLAc1!z_{M|#?b3#y*K!%5N{|nEpK3m={>^AwK4qBv)3hA zzc_tJAeAxk4{xKh{J4U3R+DYS%&_eg~_0u?{;6u>*=aqF6F0%7V+WXaUR|RFt}ml%SzTko|F%r z%9wI-aa|oA$fj}}*M*3fh-+z@AI2P0&(6%Kj5T=2qokLoFQ(^8fJ+Rmiq3OQZ^u#1 zQ?anLl(CeNv9zQ+3X0SiBuCK4P%CLMY7J!2Yn_6I(=p3n|a;1 z*q7^TpTY<@4+r{km#NH}pFG*S-o`s8)l!w?=lUBHoQSlK^DQ91B`EmWJ=k`bpVN@X z3}0U^DA>AqQOtYB^;8jG9yTsWPw{apbefTxvBT>#2_bgEkLdT>F?XlJgfY?s1B20# zgcpo_e$v?(ge65;MO2J5Vxh3<>1n_)S60yU1kSBzzyIWfn62tqd3hT%`)IVd@$hQD z+bLl3GG_C#-|DDOrj>55YdCYgbHNDLeCTMriWU?k^Ym5G^8+L|^vPRxsJEZX9qC{t zt0H_I5TEBdzZ-qFJcD}q#n&hUUj028|88E+eWUWawGA)?^W*s<`XUAf1~2OaL>K*` z!~=`CRr7o)ybVTql=+v^t_^da0)N?|uim)`ZJs14+`~F7I@I?Yn->}}GB(I=Hc9t* z2H6DcJb7|t7BZmEbWmPi4x2>_>gfGFlRrDZ$3yncZtng-D<_k97{R_vUdXy%hgaZ& zMWcd>Y;sgc;Tu6tmRsN88A%LzM#GKCt7S43wOCj|KF7P%{pHhDOeHaHx9xAL7F(Gy zs^S{9HF8qHf*!y8_v%`7ri_hD(P(j?37a_%vohh#OKbLex~%qNDnH zdyK=LJ-hc+m>)qmI!{H}=?^G~(w_=Zb{7|y8Oy|`Ijc({k-9qg(``}FPC(QE4e^+s zEhP{o)5BX?eLFJmpPQ8tn>2bDX$AOaaBo3Xr;u;JpTypQo+Z5J6yX`kI#h4oNZufi zX-R3uOA&E&&>vQZpXHn0UI)RH!l zme&GwbV=7gNx=zGV3~jYHVB~o#;bW*K(w;Fa+D;qVn%W%{GBtEjHEOk&Km0Xsi`Tm z{iHg-F(!Du#n^^DKtiSze&Sar9CU2Dk{f*+KSDyZm85z2**DvowLNNVH-`Fhg-^aq z``d^-PE1PreEINsDK{6_L(k^$$hf594CF2pqbl*XFx=Tx3WJ2=1n)LrD{ zz2j9QYO~uz;W0)%qJ2$}lE_Xt0LviD?*HH{L zSD#iNf*;zHPt{Y_9lvn){Pd~9ZpzO1u@p_8b5debqG1MkzKVsWdC<2r3PqN~bo5}E zSeVDcwUIuP(WuxmwM9^H&`_#T#UBe1Km^u@oB=T|s-6Bv$l~i(zINggTDdqlIGkO0 zZCC#IL8e*%C0M$EEW=Pd=gGIXPsw|6VpPw0iB*Zx8Q;9k%I8lA$c5S4lR_$!Dl$?% zw6ysyEmqGU0&|*IT2axe5|WbArSo+}Ef_2M{4juj9FtDzdGQyZrs1%yBsVN+kC^TX zeFp}~ob3cG6S*~}*f^3o<1~H#^E=aiE>K})7%oZETFkl-y|MYS(bZl#*(T;SHl=@s zdqdmra5S5Jc2*;T(HN&yG`+tvF)h_NKXNHMdt3=4hK>~#!^qpM5D`Rb6|0bE8^Rb@f1>x0IF=PnrXm12EC zgrYhr=h&_$!*n!^PQ0INTb!~ZH-8oNpCqX>O}%T3^@z|3h^V{J*v zbeY`y56t8Ys|RiT#l;NJUl+5xnXp+Md7Zb6v?r%6aQp2Nruj!t*8cu|r(32Xs!~*! z*J^$zZ-{%kHvS~%7|(X9BC1gzp1dOqU{L^e+er<7kuGFth?P{kkKz+p_SbchRMgE% zc8q+#v2el)pc6eE12@3rItgk(00+8&c zjq%0@e7d$bGqF1wcIO3(bcyg3PR^9mT;8v@jI#X5t7;CbX|OgAI`$1j zL~iasBO<8(67*PiE}*{^dAc0=BbGhh^6a`NQ*a*7uLW~?KMwF4x5Xu##xvgIgOj15 zJ^}ZsRKSXIc~47UaSAz>`>!^Z{ry?Xbmyf194WweDfWnkCMWgZ3tOn5-}9(n7b4)3 z|Bt<`5uE>m2-JR$1=XQRs;vIL{$--6p+U7_f%0DT<0F6JOMeD(zgxLb0+_Ee!vnN% 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 { + await runTerraformInit(import.meta.dir); + + testRequiredVariables(import.meta.dir, {}); + + it("default output", async () => { + const state = await runTerraformApply(import.meta.dir, {}); + expect(state.outputs.value.value).toBe(""); + }); + + it("customized default", async () => { + const state = await runTerraformApply(import.meta.dir, { + default: "at-vie-1", + }); + expect(state.outputs.value.value).toBe("at-vie-1"); + }); +}); diff --git a/exoscale-zone/main.tf b/exoscale-zone/main.tf new file mode 100644 index 0000000..01f1467 --- /dev/null +++ b/exoscale-zone/main.tf @@ -0,0 +1,110 @@ +terraform { + required_version = ">= 1.0" + + required_providers { + coder = { + source = "coder/coder" + version = ">= 0.12" + } + } +} + +variable "display_name" { + default = "Exoscale Region" + description = "The display name of the parameter." + type = string +} + +variable "description" { + default = "The region to deploy workspace infrastructure." + description = "The description of the parameter." + type = string +} + +variable "default" { + default = "" + description = "The default region to use if no region is specified." + type = string +} + +variable "mutable" { + default = false + description = "Whether the parameter can be changed after creation." + type = bool +} + +variable "custom_names" { + default = {} + description = "A map of custom display names for region IDs." + type = map(string) +} + +variable "custom_icons" { + default = {} + description = "A map of custom icons for region IDs." + type = map(string) +} + +variable "exclude" { + default = [] + description = "A list of region IDs to exclude." + type = list(string) +} + + +locals { + # This is a static list because the zones don't change _that_ + # frequently and including the `exoscale_zones` data source requires + # the provider, which requires a zone. + # https://www.exoscale.com/datacenters/ + zones = { + "de-fra-1" = { + name = "Frankfurt - Germany" + icon = "/emojis/1f1e9-1f1ea.png" + } + "at-vie-1" = { + name = "Vienna 1 - Austria" + icon = "/emojis/1f1e6-1f1f9.png" + } + "at-vie-2" = { + name = "Vienna 2 - Austria" + icon = "/emojis/1f1e6-1f1f9.png" + } + "ch-gva-2" = { + name = "Geneva - Switzerland" + icon = "/emojis/1f1e8-1f1ed.png" + } + "ch-dk-2" = { + name = "Zurich - Switzerland" + icon = "/emojis/1f1e8-1f1ed.png" + } + "bg-sof-1" = { + name = "Sofia - Bulgaria" + icon = "/emojis/1f1e7-1f1ec.png" + } + "de-muc-1" = { + name = "Munich - Germany" + icon = "/emojis/1f1e9-1f1ea.png" + } + } +} + +data "coder_parameter" "zone" { + name = "exoscale_zone" + display_name = var.display_name + description = var.description + default = var.default == "" ? null : var.default + mutable = var.mutable + dynamic "option" { + for_each = { for k, v in local.zones : k => v if !(contains(var.exclude, k)) } + content { + name = try(var.custom_names[option.key], option.value.name) + icon = try(var.custom_icons[option.key], option.value.icon) + value = option.key + } + } +} + +output "value" { + value = data.coder_parameter.zone.value +} \ No newline at end of file