From 15a98c05ec5d108289433d5962761c9a6316bb92 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Fri, 25 Aug 2023 14:41:12 +0000 Subject: [PATCH] zones: Machine.WriteStringFile() Signed-off-by: Alejandro Mery --- pkg/zones/machine_file.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/zones/machine_file.go b/pkg/zones/machine_file.go index 51481e1..6fd0eac 100644 --- a/pkg/zones/machine_file.go +++ b/pkg/zones/machine_file.go @@ -1,6 +1,7 @@ package zones import ( + "bytes" "fmt" "io" "os" @@ -58,6 +59,19 @@ func (m *Machine) ReadFile(name string, args ...any) ([]byte, error) { return fs.ReadFile(base, fullName) } +// WriteStringFile writes the given content to a file on the machine's config directory +func (m *Machine) WriteStringFile(value string, name string, args ...any) error { + f, err := m.CreateTruncFile(name, args...) + if err != nil { + return err + } + defer f.Close() + + buf := bytes.NewBufferString(value) + _, err = buf.WriteTo(f) + return err +} + func (m *Machine) getFilename(name string, args ...any) string { if len(args) > 0 { name = fmt.Sprintf(name, args...)