github.com/Cloud-Foundations/Dominator@v0.3.4/lib/filegen/mdb.go (about)

     1  package filegen
     2  
     3  import (
     4  	"bytes"
     5  	"time"
     6  
     7  	"github.com/Cloud-Foundations/Dominator/lib/json"
     8  	"github.com/Cloud-Foundations/Dominator/lib/log"
     9  	"github.com/Cloud-Foundations/Dominator/lib/mdb"
    10  )
    11  
    12  type jsonType struct{}
    13  
    14  func (m *Manager) registerMdbGeneratorForPath(pathname string) {
    15  	close(m.registerDataGeneratorForPath(pathname, jsonType{}))
    16  }
    17  
    18  func (jsonType) Generate(machine mdb.Machine, logger log.Logger) (
    19  	[]byte, time.Time, error) {
    20  	buffer := new(bytes.Buffer)
    21  	if err := json.WriteWithIndent(buffer, "    ", machine); err != nil {
    22  		return nil, time.Time{}, err
    23  	}
    24  	buffer.WriteString("\n")
    25  	return buffer.Bytes(), time.Time{}, nil
    26  }