@ -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 "  { 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  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 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    } 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  }