code: func (c *Config) InterpolatedVariables() map[string][]InterpolatedVariable {
  	result := make(map[string][]InterpolatedVariable)
  	for source, rc := range c.rawConfigs() {
  		for _, v := range rc.Variables {
  			result[source] = append(result[source], v)
  		}
  	}
  	return result
  }
docs: // InterpolatedVariables is a helper that returns a mapping of all the interpolated
  // variables within the configuration. This is used to verify references
  // are valid in the Validate step.