pkg/fix_copy_file.go (31 lines of code) (raw):

package pkg import ( "fmt" "github.com/Azure/golden" "github.com/spf13/afero" ) var _ Fix = &CopyFileFix{} type CopyFileFix struct { *golden.BaseBlock *BaseFix Src string `json:"src" hcl:"src"` Dest string `json:"dest" hcl:"dest"` } func (c *CopyFileFix) Type() string { return "copy_file" } func (c *CopyFileFix) Apply() error { fs := FsFactory() file, err := fs.Open(c.Src) if err != nil { return fmt.Errorf("error on reading src %s %+v", c.Src, err) } defer func() { _ = file.Close() }() err = afero.WriteReader(fs, c.Dest, file) if err != nil { return fmt.Errorf("error on writing dest %s %+v", c.Dest, err) } return nil }