func ReplaceGenericOutputs()

in types/hcl.go [87:111]


func ReplaceGenericOutputs(workingDirectory string, outputs []Output) error {
	for _, file := range helper.ListHclFiles(workingDirectory) {
		// #nosec G304
		src, err := os.ReadFile(filepath.Join(workingDirectory, file.Name()))
		if err != nil {
			return err
		}
		f, diag := hclwrite.ParseConfig(src, file.Name(), hcl.InitialPos)
		if f == nil || diag != nil && diag.HasErrors() || f.Body() == nil {
			continue
		}
		for _, block := range f.Body().Blocks() {
			if block.Type() == "removed" || block.Type() == "import" || block.Type() == "moved" {
				continue
			}
			if block != nil {
				ReplaceOutputs(block, outputs)
			}
		}
		if err := os.WriteFile(filepath.Join(workingDirectory, file.Name()), hclwrite.Format(f.Bytes()), 0600); err != nil {
			log.Printf("[Error] saving configuration %s: %+v", file.Name(), err)
		}
	}
	return nil
}