@@ -18,6 +18,12 @@ variable "agent_id" {
18
18
description = " The ID of a Coder agent."
19
19
}
20
20
21
+ variable "slug" {
22
+ type = string
23
+ description = " The slug of the app."
24
+ default = " gateway"
25
+ }
26
+
21
27
variable "agent_name" {
22
28
type = string
23
29
description = " Agent name."
@@ -73,6 +79,14 @@ variable "jetbrains_ide_versions" {
73
79
}))
74
80
description = " The set of versions for each jetbrains IDE"
75
81
default = {
82
+ " CL" = {
83
+ build_number = " 241.14494.288"
84
+ version = " 2024.1"
85
+ }
86
+ " GO" = {
87
+ build_number = " 241.14494.238"
88
+ version = " 2024.1"
89
+ }
76
90
" IU" = {
77
91
build_number = " 241.14494.240"
78
92
version = " 2024.1"
@@ -81,28 +95,20 @@ variable "jetbrains_ide_versions" {
81
95
build_number = " 241.14494.237"
82
96
version = " 2024.1"
83
97
}
84
- " WS" = {
85
- build_number = " 241.14494.235"
86
- version = " 2024.1"
87
- }
88
98
" PY" = {
89
99
build_number = " 241.14494.241"
90
100
version = " 2024.1"
91
101
}
92
- " CL" = {
93
- build_number = " 241.14494.288"
94
- version = " 2024.1"
95
- }
96
- " GO" = {
97
- build_number = " 241.14494.238"
102
+ " RD" = {
103
+ build_number = " 241.14494.307"
98
104
version = " 2024.1"
99
105
}
100
106
" RM" = {
101
107
build_number = " 241.14494.234"
102
108
version = " 2024.1"
103
109
}
104
- " RD " = {
105
- build_number = " 241.14494.307 "
110
+ " WS " = {
111
+ build_number = " 241.14494.235 "
106
112
version = " 2024.1"
107
113
}
108
114
}
@@ -119,14 +125,14 @@ variable "jetbrains_ide_versions" {
119
125
variable "jetbrains_ides" {
120
126
type = list (string )
121
127
description = " The list of IDE product codes."
122
- default = [" IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM" , " RD " ]
128
+ default = [" CL " , " GO " , " IU " , " PS " , " PY " , " RD " , " RM" , " WS " ]
123
129
validation {
124
130
condition = (
125
131
alltrue ([
126
- for code in var . jetbrains_ides : contains ([" IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM" , " RD " ], code)
132
+ for code in var . jetbrains_ides : contains ([" CL " , " GO " , " IU " , " PS " , " PY " , " RD " , " RM" , " WS " ], code)
127
133
])
128
134
)
129
- error_message = " The jetbrains_ides must be a list of valid product codes. Valid product codes are ${ join (" ," , [" IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM" , " RD " ])} ."
135
+ error_message = " The jetbrains_ides must be a list of valid product codes. Valid product codes are ${ join (" ," , [" CL " , " GO " , " IU " , " PS " , " PY " , " RD " , " RM" , " WS " ])} ."
130
136
}
131
137
# check if the list is empty
132
138
validation {
@@ -147,6 +153,14 @@ data "http" "jetbrains_ide_versions" {
147
153
148
154
locals {
149
155
jetbrains_ides = {
156
+ " CL" = {
157
+ icon = " /icon/clion.svg" ,
158
+ name = " CLion" ,
159
+ identifier = " CL" ,
160
+ build_number = var.jetbrains_ide_versions[" CL" ].build_number,
161
+ download_link = " https://download.jetbrains.com/cpp/CLion-${ var . jetbrains_ide_versions [" CL" ]. version } .tar.gz"
162
+ version = var.jetbrains_ide_versions[" CL" ].version
163
+ },
150
164
" GO" = {
151
165
icon = " /icon/goland.svg" ,
152
166
name = " GoLand" ,
@@ -155,14 +169,6 @@ locals {
155
169
download_link = " https://download.jetbrains.com/go/goland-${ var . jetbrains_ide_versions [" GO" ]. version } .tar.gz"
156
170
version = var.jetbrains_ide_versions[" GO" ].version
157
171
},
158
- " WS" = {
159
- icon = " /icon/webstorm.svg" ,
160
- name = " WebStorm" ,
161
- identifier = " WS" ,
162
- build_number = var.jetbrains_ide_versions[" WS" ].build_number,
163
- download_link = " https://download.jetbrains.com/webstorm/WebStorm-${ var . jetbrains_ide_versions [" WS" ]. version } .tar.gz"
164
- version = var.jetbrains_ide_versions[" WS" ].version
165
- },
166
172
" IU" = {
167
173
icon = " /icon/intellij.svg" ,
168
174
name = " IntelliJ IDEA Ultimate" ,
@@ -171,6 +177,14 @@ locals {
171
177
download_link = " https://download.jetbrains.com/idea/ideaIU-${ var . jetbrains_ide_versions [" IU" ]. version } .tar.gz"
172
178
version = var.jetbrains_ide_versions[" IU" ].version
173
179
},
180
+ " PS" = {
181
+ icon = " /icon/phpstorm.svg" ,
182
+ name = " PhpStorm" ,
183
+ identifier = " PS" ,
184
+ build_number = var.jetbrains_ide_versions[" PS" ].build_number,
185
+ download_link = " https://download.jetbrains.com/webide/PhpStorm-${ var . jetbrains_ide_versions [" PS" ]. version } .tar.gz"
186
+ version = var.jetbrains_ide_versions[" PS" ].version
187
+ },
174
188
" PY" = {
175
189
icon = " /icon/pycharm.svg" ,
176
190
name = " PyCharm Professional" ,
@@ -179,21 +193,13 @@ locals {
179
193
download_link = " https://download.jetbrains.com/python/pycharm-professional-${ var . jetbrains_ide_versions [" PY" ]. version } .tar.gz"
180
194
version = var.jetbrains_ide_versions[" PY" ].version
181
195
},
182
- " CL" = {
183
- icon = " /icon/clion.svg" ,
184
- name = " CLion" ,
185
- identifier = " CL" ,
186
- build_number = var.jetbrains_ide_versions[" CL" ].build_number,
187
- download_link = " https://download.jetbrains.com/cpp/CLion-${ var . jetbrains_ide_versions [" CL" ]. version } .tar.gz"
188
- version = var.jetbrains_ide_versions[" CL" ].version
189
- },
190
- " PS" = {
191
- icon = " /icon/phpstorm.svg" ,
192
- name = " PhpStorm" ,
193
- identifier = " PS" ,
194
- build_number = var.jetbrains_ide_versions[" PS" ].build_number,
195
- download_link = " https://download.jetbrains.com/webide/PhpStorm-${ var . jetbrains_ide_versions [" PS" ]. version } .tar.gz"
196
- version = var.jetbrains_ide_versions[" PS" ].version
196
+ " RD" = {
197
+ icon = " /icon/rider.svg" ,
198
+ name = " Rider" ,
199
+ identifier = " RD" ,
200
+ build_number = var.jetbrains_ide_versions[" RD" ].build_number,
201
+ download_link = " https://download.jetbrains.com/rider/JetBrains.Rider-${ var . jetbrains_ide_versions [" RD" ]. version } .tar.gz"
202
+ version = var.jetbrains_ide_versions[" RD" ].version
197
203
},
198
204
" RM" = {
199
205
icon = " /icon/rubymine.svg" ,
@@ -202,14 +208,14 @@ locals {
202
208
build_number = var.jetbrains_ide_versions[" RM" ].build_number,
203
209
download_link = " https://download.jetbrains.com/ruby/RubyMine-${ var . jetbrains_ide_versions [" RM" ]. version } .tar.gz"
204
210
version = var.jetbrains_ide_versions[" RM" ].version
205
- }
206
- " RD " = {
207
- icon = " /icon/rider .svg" ,
208
- name = " Rider " ,
209
- identifier = " RD " ,
210
- build_number = var.jetbrains_ide_versions[" RD " ].build_number,
211
- download_link = " https://download.jetbrains.com/rider/JetBrains.Rider -${ var . jetbrains_ide_versions [" RD " ]. version } .tar.gz"
212
- version = var.jetbrains_ide_versions[" RD " ].version
211
+ },
212
+ " WS " = {
213
+ icon = " /icon/webstorm .svg" ,
214
+ name = " WebStorm " ,
215
+ identifier = " WS " ,
216
+ build_number = var.jetbrains_ide_versions[" WS " ].build_number,
217
+ download_link = " https://download.jetbrains.com/webstorm/WebStorm -${ var . jetbrains_ide_versions [" WS " ]. version } .tar.gz"
218
+ version = var.jetbrains_ide_versions[" WS " ].version
213
219
}
214
220
}
215
221
@@ -247,7 +253,7 @@ data "coder_workspace_owner" "me" {}
247
253
248
254
resource "coder_app" "gateway" {
249
255
agent_id = var. agent_id
250
- slug = " gateway "
256
+ slug = var . slug
251
257
display_name = local. display_name
252
258
icon = local. icon
253
259
external = true
0 commit comments