@ -48,55 +48,59 @@ variable "jetbrains_ide_versions" {
description = " The set of versions for each jetbrains IDE "
description = " The set of versions for each jetbrains IDE "
default = {
default = {
" IU " = {
" IU " = {
build_number = " 23 2.10203.10 "
build_number = " 23 3.14808.21 "
version = " 2023. 2.4 "
version = " 2023. 3.5 "
}
}
" PS " = {
" PS " = {
build_number = " 23 2.10072.32 "
build_number = " 23 3.14808.18 "
version = " 2023. 2. 3"
version = " 2023. 3.5 "
}
}
" WS " = {
" WS " = {
build_number = " 23 2.1020 3.14"
build_number = " 23 3.14475.40 "
version = " 2023. 2 .4"
version = " 2023. 3 .4"
}
}
" PY " = {
" PY " = {
build_number = " 23 2.10203.2 6"
build_number = " 23 3.14475.5 6"
version = " 2023. 2 .4"
version = " 2023. 3 .4"
}
}
" CL " = {
" CL " = {
build_number = " 23 2.9921.42 "
build_number = " 23 3.14475.31 "
version = " 2023. 2.2 "
version = " 2023. 3.4 "
}
}
" GO " = {
" GO " = {
build_number = " 23 2.10203 .20"
build_number = " 23 3.14808 .20"
version = " 2023. 2.4 "
version = " 2023. 3.5 "
}
}
" RM " = {
" RM " = {
build_number = " 232.10203.15 "
build_number = " 233.14808.14 "
version = " 2023.2.4 "
version = " 2023.3.5 "
}
" RD " = {
build_number = " 233.14475.66 "
version = " 2023.3.4 "
}
}
}
}
validation {
validation {
condition = (
condition = (
alltrue ( [
alltrue ( [
for code in keys ( var . jetbrains_ide_versions ) : contains ( [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " ], code )
for code in keys ( var . jetbrains_ide_versions ) : contains ( [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " , " RD " ], code )
] )
] )
)
)
error_message = " The jetbrains_ide_versions must contain a map of valid product codes. Valid product codes are ${ join ( " , " , [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " ]) } . "
error_message = " The jetbrains_ide_versions must contain a map of valid product codes. Valid product codes are ${ join ( " , " , [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " , " RD " ]) } . "
}
}
}
}
variable " jetbrains_ides " {
variable " jetbrains_ides " {
type = list ( string )
type = list ( string )
description = " The list of IDE product codes. "
description = " The list of IDE product codes. "
default = [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " ]
default = [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " , " RD " ]
validation {
validation {
condition = (
condition = (
alltrue ( [
alltrue ( [
for code in var . jetbrains_ides : contains ( [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " ], code )
for code in var . jetbrains_ides : contains ( [ " IU " , " PS " , " WS " , " PY " , " CL " , " GO " , " RM " , " RD " ], code )
] )
] )
)
)
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 " ]) } . "
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 " ]) } . "
}
}
# check if the list is empty
# check if the list is empty
validation {
validation {
@ -161,6 +165,13 @@ locals {
build_number = var . jetbrains_ide_versions [ " RM " ] . build_number ,
build_number = var . jetbrains_ide_versions [ " RM " ] . build_number ,
download_link = " https://download.jetbrains.com/ruby/RubyMine- ${ var . jetbrains_ide_versions [ " RM " ] . version } .tar.gz "
download_link = " https://download.jetbrains.com/ruby/RubyMine- ${ var . jetbrains_ide_versions [ " RM " ] . version } .tar.gz "
}
}
" RD " = {
icon = " /icon/rider.svg " ,
name = " Rider " ,
identifier = " RD " ,
build_number = var . jetbrains_ide_versions [ " RD " ] . build_number ,
download_link = " https://download.jetbrains.com/rider/JetBrains.Rider- ${ var . jetbrains_ide_versions [ " RD " ] . version } .tar.gz "
}
}
}
}
}