terraform: output state in human-readable format
/cc @armon - Didn't need to save the bits here, plus it makes it easier for someone to go in and modify this stuff
This commit is contained in:
parent
ce61b5caec
commit
edf85de411
|
@ -643,10 +643,20 @@ func WriteState(d *State, dst io.Writer) error {
|
||||||
// Always increment the serial number
|
// Always increment the serial number
|
||||||
d.Serial++
|
d.Serial++
|
||||||
|
|
||||||
enc := json.NewEncoder(dst)
|
// Encode the data in a human-friendly way
|
||||||
if err := enc.Encode(d); err != nil {
|
data, err := json.MarshalIndent(d, "", " ")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("Failed to encode state: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// We append a newline to the data because MarshalIndent doesn't
|
||||||
|
data = append(data, '\n')
|
||||||
|
|
||||||
|
// Write the data out to the dst
|
||||||
|
if _, err := io.Copy(dst, bytes.NewReader(data)); err != nil {
|
||||||
return fmt.Errorf("Failed to write state: %v", err)
|
return fmt.Errorf("Failed to write state: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue