databricks-cli/bundle/internal/tf/codegen/schema/load.go

37 lines
716 B
Go

package schema
import (
"context"
"encoding/json"
"fmt"
"os"
tfjson "github.com/hashicorp/terraform-json"
)
func (s *Schema) Load(ctx context.Context) (*tfjson.ProviderSchema, error) {
buf, err := os.ReadFile(s.ProviderSchemaFile)
if err != nil {
return nil, err
}
var document tfjson.ProviderSchemas
err = json.Unmarshal(buf, &document)
if err != nil {
return nil, err
}
err = document.Validate()
if err != nil {
return nil, fmt.Errorf("invalid schema: %w", err)
}
// Find the databricks provider definition.
schema, ok := document.Schemas[DatabricksProvider]
if !ok {
return nil, fmt.Errorf("schema file doesn't include schema for %s", DatabricksProvider)
}
return schema, nil
}