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
}