func CombineSchemaAndMarkdown()

in provider-schema/processors/combine.go [12:39]


func CombineSchemaAndMarkdown(providerSchema *schema.ProviderSchema, markdownDocs map[string]*model.ResourceDoc) (TerraformObjects, error) {
	terraformObjects := make(TerraformObjects)

	// Combine resources and data sources
	for name, resourceSchema := range providerSchema.ResourceSchemas {
		terraformObject := &TerraformObject{
			Name:   name,
			Fields: make(map[string]*schema.SchemaAttribute),
		}
		terraformObjects[name] = terraformObject

		markdownDoc, exists := markdownDocs[name]
		if !exists || markdownDoc == nil {
			//fmt.Println("Resource/DataSource not found in documentation:", name)
			continue
		}

		terraformObject.ExampleHCL = markdownDoc.ExampleHCL
		terraformObject.Timeouts = markdownDoc.Timeouts
		terraformObject.Import = markdownDoc.Import
		terraformObject.Details = extractDetails(markdownDoc.Content)

		// Inject descriptions from markdown into the providerSchema fields
		combineFieldsRecursively(name, resourceSchema.Block, markdownDoc.AllProp(), terraformObject.Fields, "")
	}

	return terraformObjects, nil
}