@ -2,7 +2,7 @@ terraform {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  required_version  = " >= 1.0 " 
 
					 
					 
					 
					  required_version  = " >= 1.0 " 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  required_providers  { 
 
					 
					 
					 
					  required_providers  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    aws  = { 
 
					 
					 
					 
					    coder  = { 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					      source   = " coder/coder " 
 
					 
					 
					 
					      source   = " coder/coder " 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      version  = " >= 0.11 " 
 
					 
					 
					 
					      version  = " >= 0.11 " 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    } 
 
					 
					 
					 
					    } 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -20,22 +20,21 @@ variable "gateway_project_directory" {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					} 
 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					variable  " gateway_ide_product_code "  { 
 
					 
					 
					 
					variable  " gateway_ide_product_code "  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  type         = string 
 
					 
					 
					 
					  type         =  list(  string ) 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  description  = " The  IDE product codes, comma-separated. e.g. for GoLand and WebStorm: `GO,WS` and for all: `ALL` " 
 
					 
					 
					 
					  description  = " The  list of IDE product codes, e.g. ['GO', 'WS'] or ['ALL'] " 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
 
					 
					 
					 
					  default      = [ " ALL " ]  
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					  validation  { 
 
					 
					 
					 
					  validation  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    condition  = ( 
 
					 
					 
					 
					    condition  = ( 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      lower ( var . gateway_ide_product_code )  = =  " all "  | | 
 
					 
					 
					 
					      length ( var . gateway_ide_product_code )  = =  1  &&  var . gateway_ide_product_code [ 0 ]  = =  " ALL "  | | 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					      alltrue ( [ 
 
					 
					 
					 
					      alltrue ( [ 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        for  code  in  split ( " , " ,  trimspace ( var . gateway_ide_product_code ) )  : 
 
					 
					 
					 
					        for  code  in  var . gateway_ide_product_code  :  contains ( [ " IU " ,  " IC " ,  " PS " ,  " WS " ,  " PY " ,  " PC " ,  " CL " ,  " GO " ,  " DB " ,  " RD " ] ,  code ) 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					        contains ( [ " IU " ,  " IC " ,  " PS " ,  " WS " ,  " PY " ,  " PC " ,  " CL " ,  " GO " ,  " DB " ,  " RD " ] ,  trimspace ( code ) ) 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					      ] ) 
 
					 
					 
					 
					      ] ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    ) 
 
					 
					 
					 
					    ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    error_message  = " The gateway_ide_product_code must be  ALL or a comma-separated  list of valid product codes. https://plugins.jetbrains.com/docs/marketplace/product-codes.html" 
 
					 
					 
					 
					    error_message  = " The gateway_ide_product_code must be  [' ALL']  or a list of valid product codes. https://plugins.jetbrains.com/docs/marketplace/product-codes.html" 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					  } 
 
					 
					 
					 
					  } 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  default  = " all " 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					} 
 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					locals  { 
 
					 
					 
					 
					locals  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  gateway_ides  = { 
 
					 
					 
					 
					  gateway_ides  = { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    " GO "  =  { 
 
					 
					 
					 
					    " GO "  =  { 
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -100,7 +99,7 @@ data "coder_parameter" "jetbrains_ide" {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  default       = local . gateway_ides [ " GO " ] . value 
 
					 
					 
					 
					  default       = local . gateway_ides [ " GO " ] . value 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  dynamic  " option "  { 
 
					 
					 
					 
					  dynamic  " option "  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    for_each  = lower ( var . gateway_ide_product_code )  = =  " all "   ?  local . gateway_ides  :  {  for  key ,  value  in  local . gateway_ides  :  key  =>  value  if  key  ==  var . gateway_ide_product_code   } 
 
					 
					 
					 
					    for_each  = contains ( var . gateway_ide_product_code ,  " ALL " )   ?  local . gateway_ides  :  {  for  key ,  value  in  local . gateway_ides  :  key  =>  value  if  contains ( var . gateway_ide_product_code ,  key )   } 
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    content  { 
 
					 
					 
					 
					    content  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      icon   = option . value . icon 
 
					 
					 
					 
					      icon   = option . value . icon 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      name   = option . value . name 
 
					 
					 
					 
					      name   = option . value . name