func ReadProviderConfigValues()

in internal/terraform/json.go [138:161]


func ReadProviderConfigValues(data []byte, kind, name string) (map[string]interface{}, error) {
	p := new(plan)
	if err := json.Unmarshal(data, p); err != nil {
		return nil, err
	}

	result := make(map[string]interface{})

	// Resolve expressions in the provider config.
	config, ok := resourceProviderConfig(kind, name, p)
	if !ok {
		return result, nil
	}

	for k, v := range config.Expressions {
		// Within a provider config, we expect expressions to be maps, but that's not guaranteed, so don't type assert.
		switch mv := v.(type) {
		case map[string]interface{}:
			result[k] = resolveExpression(mv, p)
		}
	}

	return result, nil
}