terraform { required_providers { coder = { source = "coder/coder" } docker = { source = "kreuzwerker/docker" } } } data "coder_parameter" "java_version" { name = "Java Version" description = "Select the JDK version for your workspace." type = "string" default = "21" option { name = "Java 8" value = "8" } option { name = "Java 17" value = "17" } option { name = "Java 21" value = "21" } } module "java_workspace" { source = "git::https://git.bobert.me/anthorob/coder-templates.git//coder-base?ref=main" language = "Java" docker_image = "registry.bobert.me/anthorob/coder-images:java${data.coder_parameter.java_version.value}" language_metadata = [ { display_name = "Java Version" key = "java_version" script = "echo ${data.coder_parameter.java_version.value}" interval = 60 timeout = 1 } ] language_startup_script = <<-EOT echo $(java -version) EOT vscode_extensions = [ "vscjava.vscode-java-pack", "redhat.java", "vscjava.vscode-java-debug", "vscjava.vscode-java-dependency", "vscjava.vscode-maven" ] vscode_settings = { "java.home" = "/usr/lib/jvm/java-21-openjdk-amd64/bin/java" } jetbrains_ides = ["IU"] jetbrains_default = "IU" }