code: func (c *Config) rawConfigs() map[string]*RawConfig {
  	result := make(map[string]*RawConfig)
  	for _, m := range c.Modules {
  		source := fmt.Sprintf("module '%s'", m.Name)
  		result[source] = m.RawConfig
  	}
  
  	for _, pc := range c.ProviderConfigs {
  		source := fmt.Sprintf("provider config '%s'", pc.Name)
  		result[source] = pc.RawConfig
  	}
  
  	for _, rc := range c.Resources {
  		source := fmt.Sprintf("resource '%s'", rc.Id())
  		result[source+" count"] = rc.RawCount
  		result[source+" config"] = rc.RawConfig
  
  		for i, p := range rc.Provisioners {
  			subsource := fmt.Sprintf(
  				"%s provisioner %s (#%d)",
  				source, p.Type, i+1)
  			result[subsource] = p.RawConfig
  		}
  	}
  
  	for _, o := range c.Outputs {
  		source := fmt.Sprintf("output '%s'", o.Name)
  		result[source] = o.RawConfig
  	}
  
  	return result
  }
docs: // rawConfigs returns all of the RawConfigs that are available keyed by
  // a human-friendly source.