From 4cc296961e4787dd498fef90ff003ba2e25d7752 Mon Sep 17 00:00:00 2001 From: Baraa Basata Date: Wed, 25 Mar 2026 20:35:01 -0400 Subject: [PATCH 1/2] Write provider schema to schema.json --- internal/provider/generate.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/internal/provider/generate.go b/internal/provider/generate.go index 2cb43d5b..3622a7b2 100644 --- a/internal/provider/generate.go +++ b/internal/provider/generate.go @@ -5,6 +5,7 @@ package provider import ( "context" + "encoding/json" "fmt" "os" "os/exec" @@ -273,6 +274,29 @@ func (g *generator) Generate(ctx context.Context) error { return fmt.Errorf("error rendering static website: %w", err) } + g.infof("writing provider schema") + err = g.writeProviderSchema(providerSchema) + if err != nil { + return fmt.Errorf("error writing provider schema: %w", err) + + } + + return nil +} + +func (g *generator) writeProviderSchema(providerSchema *tfjson.ProviderSchema) error { + path := filepath.Join(g.ProviderDocsDir(), "schema.json") + f, err := os.Create(path) + if err != nil { + return fmt.Errorf("writeProviderSchema: error on file open for write: %w", err) + } + + encoder := json.NewEncoder(f) + err = encoder.Encode(providerSchema) + if err != nil { + return fmt.Errorf("writeProviderSchema: error on JSON encode to file: %w", err) + } + return nil } From 8742b4d8443362e1556989d403e24963533b0344 Mon Sep 17 00:00:00 2001 From: Baraa Basata Date: Wed, 25 Mar 2026 20:36:42 -0400 Subject: [PATCH 2/2] tidy --- internal/provider/generate.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/internal/provider/generate.go b/internal/provider/generate.go index 3622a7b2..7dfd1803 100644 --- a/internal/provider/generate.go +++ b/internal/provider/generate.go @@ -284,22 +284,6 @@ func (g *generator) Generate(ctx context.Context) error { return nil } -func (g *generator) writeProviderSchema(providerSchema *tfjson.ProviderSchema) error { - path := filepath.Join(g.ProviderDocsDir(), "schema.json") - f, err := os.Create(path) - if err != nil { - return fmt.Errorf("writeProviderSchema: error on file open for write: %w", err) - } - - encoder := json.NewEncoder(f) - err = encoder.Encode(providerSchema) - if err != nil { - return fmt.Errorf("writeProviderSchema: error on JSON encode to file: %w", err) - } - - return nil -} - // ProviderDocsDir returns the absolute path to the joined provider and // given website documentation directory, which defaults to "docs". func (g *generator) ProviderDocsDir() string { @@ -1073,6 +1057,22 @@ func (g *generator) renderStaticWebsite(providerSchema *tfjson.ProviderSchema) e return nil } +func (g *generator) writeProviderSchema(providerSchema *tfjson.ProviderSchema) error { + path := filepath.Join(g.ProviderDocsDir(), "schema.json") + f, err := os.Create(path) + if err != nil { + return fmt.Errorf("writeProviderSchema: error on file open for write: %w", err) + } + + encoder := json.NewEncoder(f) + err = encoder.Encode(providerSchema) + if err != nil { + return fmt.Errorf("writeProviderSchema: error on JSON encode to file: %w", err) + } + + return nil +} + func (g *generator) terraformProviderSchemaFromTerraform(ctx context.Context) (*tfjson.ProviderSchema, error) { var err error