@ -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?://.+ $ " ,  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?://.+ $ " ,  var . download_base_link ) ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					    error_message  = " The download_base_link must be a valid HTTP/S address. " 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					data  " http "  " jetbrains_ide_versions "  { 
 
					 
					 
					 
					data  " http "  " jetbrains_ide_versions "  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  for_each  = var . latest  ?  toset ( var . jetbrains_ides )  :  toset ( [ ] ) 
 
					 
					 
					 
					  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  { 
 
					 
					 
					 
					locals  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -158,7 +178,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " GoLand " , 
 
					 
					 
					 
					      name           = " GoLand " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " GO " , 
 
					 
					 
					 
					      identifier     = " GO " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      build_number   = var . jetbrains_ide_versions [ " GO " ] . build_number , 
 
					 
					 
					 
					      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 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " GO " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } , 
 
					 
					 
					 
					    } , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " WS "  =  { 
 
					 
					 
					 
					    " WS "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -166,7 +186,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " WebStorm " , 
 
					 
					 
					 
					      name           = " WebStorm " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " WS " , 
 
					 
					 
					 
					      identifier     = " WS " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      build_number   = var . jetbrains_ide_versions [ " WS " ] . build_number , 
 
					 
					 
					 
					      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 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " WS " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } , 
 
					 
					 
					 
					    } , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " IU "  =  { 
 
					 
					 
					 
					    " IU "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -174,7 +194,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " IntelliJ IDEA Ultimate " , 
 
					 
					 
					 
					      name           = " IntelliJ IDEA Ultimate " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " IU " , 
 
					 
					 
					 
					      identifier     = " IU " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      build_number   = var . jetbrains_ide_versions [ " IU " ] . build_number , 
 
					 
					 
					 
					      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 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " IU " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } , 
 
					 
					 
					 
					    } , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " PY "  =  { 
 
					 
					 
					 
					    " PY "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -182,7 +202,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " PyCharm Professional " , 
 
					 
					 
					 
					      name           = " PyCharm Professional " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " PY " , 
 
					 
					 
					 
					      identifier     = " PY " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      build_number   = var . jetbrains_ide_versions [ " PY " ] . build_number , 
 
					 
					 
					 
					      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 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " PY " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } , 
 
					 
					 
					 
					    } , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " CL "  =  { 
 
					 
					 
					 
					    " CL "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -190,7 +210,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " CLion " , 
 
					 
					 
					 
					      name           = " CLion " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " CL " , 
 
					 
					 
					 
					      identifier     = " CL " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      build_number   = var . jetbrains_ide_versions [ " CL " ] . build_number , 
 
					 
					 
					 
					      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 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " CL " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } , 
 
					 
					 
					 
					    } , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " PS "  =  { 
 
					 
					 
					 
					    " PS "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -198,7 +218,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " PhpStorm " , 
 
					 
					 
					 
					      name           = " PhpStorm " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " PS " , 
 
					 
					 
					 
					      identifier     = " PS " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      build_number   = var . jetbrains_ide_versions [ " PS " ] . build_number , 
 
					 
					 
					 
					      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 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " PS " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } , 
 
					 
					 
					 
					    } , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " RM "  =  { 
 
					 
					 
					 
					    " RM "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -206,7 +226,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " RubyMine " , 
 
					 
					 
					 
					      name           = " RubyMine " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " RM " , 
 
					 
					 
					 
					      identifier     = " RM " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      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  = " ${ var . download_base_link }  /ruby/RubyMine-${ var . jetbrains_ide_versions [ " RM " ] . version } .tar.gz " 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " RM " ] . version 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " RM " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } 
 
					 
					 
					 
					    } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " RD "  =  { 
 
					 
					 
					 
					    " RD "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -214,7 +234,7 @@ locals {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name           = " Rider " , 
 
					 
					 
					 
					      name           = " Rider " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      identifier     = " RD " , 
 
					 
					 
					 
					      identifier     = " RD " , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      build_number   = var . jetbrains_ide_versions [ " RD " ] . build_number , 
 
					 
					 
					 
					      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 
 
					 
					 
					 
					      version        = var . jetbrains_ide_versions [ " RD " ] . version 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } 
 
					 
					 
					 
					    } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  } 
 
					 
					 
					 
					  }