func()

in pkg/terraform/module.go [52:78]


func (m *Module) loadConfig(cfg, filename string) error {
	writeFile, diag := hclwrite.ParseConfig([]byte(cfg), filename, hcl.InitialPos)
	if diag.HasErrors() {
		return diag
	}
	readFile, diag := hclsyntax.ParseConfig([]byte(cfg), filename, hcl.InitialPos)
	if diag.HasErrors() {
		return diag
	}
	m.writeFiles[filename] = writeFile
	readBlocks := readFile.Body.(*hclsyntax.Body).Blocks
	writeBlocks := writeFile.Body().Blocks()
	for i, rb := range readBlocks {
		if rb.Type == "locals" {
			m.loadLocals(rb, writeBlocks[i])
			continue
		}
		getter, want := wantedTypes[rb.Type]
		if !want {
			continue
		}
		hclBlock := NewBlock(m, rb, writeBlocks[i])
		blocks := getter(m)
		*blocks = append(*blocks, hclBlock)
	}
	return nil
}