|
|
|
@ -146,9 +146,29 @@ variable "jetbrains_ides" {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
variable "releases_base_link" {
|
|
|
|
|
type = string
|
|
|
|
|
description = ""
|
|
|
|
|
default = "https://data.services.jetbrains.com"
|
|
|
|
|
validation {
|
|
|
|
|
condition = can(regex("^(https?:\/\/)?[0-9a-zA-Z]+\.[-_0-9a-zA-Z]+\.[0-9a-zA-Z]+$", var.releases_base_link))
|
|
|
|
|
error_message = "The releases_base_link must be a valid HTTP/S address."
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
variable "download_base_link" {
|
|
|
|
|
type = string
|
|
|
|
|
description = ""
|
|
|
|
|
default = "https://download.jetbrains.com"
|
|
|
|
|
validation {
|
|
|
|
|
condition = can(regex("^(https?:\/\/)?[0-9a-zA-Z]+\.[-_0-9a-zA-Z]+\.[0-9a-zA-Z]+$", var.download_base_link))
|
|
|
|
|
error_message = "The download_base_link must be a valid HTTP/S address."
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
data "http" "jetbrains_ide_versions" {
|
|
|
|
|
for_each = var.latest ? toset(var.jetbrains_ides) : toset([])
|
|
|
|
|
url = "https://data.services.jetbrains.com/products/releases?code=${each.key}&latest=true&type=${var.channel}"
|
|
|
|
|
url = "${var.releases_base_link}/products/releases?code=${each.key}&latest=true&type=${var.channel}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
locals {
|
|
|
|
@ -158,7 +178,7 @@ locals {
|
|
|
|
|
name = "GoLand",
|
|
|
|
|
identifier = "GO",
|
|
|
|
|
build_number = var.jetbrains_ide_versions["GO"].build_number,
|
|
|
|
|
download_link = "https://download.jetbrains.com/go/goland-${var.jetbrains_ide_versions["GO"].version}.tar.gz"
|
|
|
|
|
download_link = "${var.download_base_link}/go/goland-${var.jetbrains_ide_versions["GO"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["GO"].version
|
|
|
|
|
},
|
|
|
|
|
"WS" = {
|
|
|
|
@ -166,7 +186,7 @@ locals {
|
|
|
|
|
name = "WebStorm",
|
|
|
|
|
identifier = "WS",
|
|
|
|
|
build_number = var.jetbrains_ide_versions["WS"].build_number,
|
|
|
|
|
download_link = "https://download.jetbrains.com/webstorm/WebStorm-${var.jetbrains_ide_versions["WS"].version}.tar.gz"
|
|
|
|
|
download_link = "${var.download_base_link}/webstorm/WebStorm-${var.jetbrains_ide_versions["WS"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["WS"].version
|
|
|
|
|
},
|
|
|
|
|
"IU" = {
|
|
|
|
@ -174,7 +194,7 @@ locals {
|
|
|
|
|
name = "IntelliJ IDEA Ultimate",
|
|
|
|
|
identifier = "IU",
|
|
|
|
|
build_number = var.jetbrains_ide_versions["IU"].build_number,
|
|
|
|
|
download_link = "https://download.jetbrains.com/idea/ideaIU-${var.jetbrains_ide_versions["IU"].version}.tar.gz"
|
|
|
|
|
download_link = "${var.download_base_link}/idea/ideaIU-${var.jetbrains_ide_versions["IU"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["IU"].version
|
|
|
|
|
},
|
|
|
|
|
"PY" = {
|
|
|
|
@ -182,7 +202,7 @@ locals {
|
|
|
|
|
name = "PyCharm Professional",
|
|
|
|
|
identifier = "PY",
|
|
|
|
|
build_number = var.jetbrains_ide_versions["PY"].build_number,
|
|
|
|
|
download_link = "https://download.jetbrains.com/python/pycharm-professional-${var.jetbrains_ide_versions["PY"].version}.tar.gz"
|
|
|
|
|
download_link = "${var.download_base_link}/python/pycharm-professional-${var.jetbrains_ide_versions["PY"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["PY"].version
|
|
|
|
|
},
|
|
|
|
|
"CL" = {
|
|
|
|
@ -190,7 +210,7 @@ locals {
|
|
|
|
|
name = "CLion",
|
|
|
|
|
identifier = "CL",
|
|
|
|
|
build_number = var.jetbrains_ide_versions["CL"].build_number,
|
|
|
|
|
download_link = "https://download.jetbrains.com/cpp/CLion-${var.jetbrains_ide_versions["CL"].version}.tar.gz"
|
|
|
|
|
download_link = "${var.download_base_link}/cpp/CLion-${var.jetbrains_ide_versions["CL"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["CL"].version
|
|
|
|
|
},
|
|
|
|
|
"PS" = {
|
|
|
|
@ -198,7 +218,7 @@ locals {
|
|
|
|
|
name = "PhpStorm",
|
|
|
|
|
identifier = "PS",
|
|
|
|
|
build_number = var.jetbrains_ide_versions["PS"].build_number,
|
|
|
|
|
download_link = "https://download.jetbrains.com/webide/PhpStorm-${var.jetbrains_ide_versions["PS"].version}.tar.gz"
|
|
|
|
|
download_link = "${var.download_base_link}/webide/PhpStorm-${var.jetbrains_ide_versions["PS"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["PS"].version
|
|
|
|
|
},
|
|
|
|
|
"RM" = {
|
|
|
|
@ -206,7 +226,7 @@ locals {
|
|
|
|
|
name = "RubyMine",
|
|
|
|
|
identifier = "RM",
|
|
|
|
|
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 = "${var.download_base_link}/ruby/RubyMine-${var.jetbrains_ide_versions["RM"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["RM"].version
|
|
|
|
|
}
|
|
|
|
|
"RD" = {
|
|
|
|
@ -214,7 +234,7 @@ locals {
|
|
|
|
|
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"
|
|
|
|
|
download_link = "${var.download_base_link}/rider/JetBrains.Rider-${var.jetbrains_ide_versions["RD"].version}.tar.gz"
|
|
|
|
|
version = var.jetbrains_ide_versions["RD"].version
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|