func()

in pkg/data_provider_schema.go [41:70]


func (r *ProviderSchemaData) Convert(schemas map[string]*tfjson.Schema) (cty.Value, error) {
	resourcesMap := make(map[string]cty.Value)
	var convertErr error

	for resourceName, schema := range schemas {
		attributesMap, err := r.convertAttributeSchemas(schema.Block.Attributes)
		if err != nil {
			convertErr = multierror.Append(err, fmt.Errorf("cannot convert attribute schemas for resource %s: %+v", resourceName, err))
			continue
		}
		nestedBlocksMap, err := r.convertNestedBlockSchemas(schema.Block.NestedBlocks)
		if err != nil {
			convertErr = multierror.Append(err, fmt.Errorf("cannot convert nested block schemas for resource %s: %+v", resourceName, err))
			continue
		}
		resourcesMap[resourceName] = cty.ObjectVal(map[string]cty.Value{
			"version": cty.NumberUIntVal(schema.Version),
			"block": cty.ObjectVal(map[string]cty.Value{
				"attributes":  cty.ObjectVal(attributesMap),
				"block_types": cty.ObjectVal(nestedBlocksMap),
				"description": cty.StringVal(schema.Block.Description),
			}),
		})
	}
	if convertErr != nil {
		return cty.Value{}, convertErr
	}

	return cty.ObjectVal(resourcesMap), nil
}