code: func (p *Proxy) functionVars() (args []string) {
  
  	args = append(args, "-var")
  	args = append(args, fmt.Sprintf("aws_region=%s", p.Region))
  
  	args = append(args, "-var")
  	args = append(args, fmt.Sprintf("apex_environment=%s", p.Environment))
  
  	if p.Role != "" {
  		args = append(args, "-var")
  		args = append(args, fmt.Sprintf("apex_function_role=%s", p.Role))
  	}
  
  	// GetConfig is slow, so store the results and then use the configurations as needed
  	var relations []ConfigRelation
  	for _, fn := range p.Functions {
  		config, err := fn.GetConfig()
  		if err != nil {
  			log.Debugf("can't fetch function config: %s", err.Error())
  			continue
  		}
  
  		var relation ConfigRelation
  		relation.Function = fn
  		relation.Configuration = config.Configuration
  		relations = append(relations, relation)
  	}
  
  	args = append(args, getFunctionArnVars(relations)...)
  	args = append(args, getFunctionNameVars(relations)...)
  	args = append(args, getFunctionArns(relations)...)
  	args = append(args, getFunctionNames(relations)...)
  
  	return args
  }
docs: // functionVars returns the function variables as terraform -var arguments.