From e23c99d7717524114dc0ad00570cd6403229db75 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 27 Oct 2024 02:30:00 -0500 Subject: validate code shouldn't be here Signed-off-by: Jeff Carr --- disks.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 disks.go (limited to 'disks.go') diff --git a/disks.go b/disks.go new file mode 100644 index 0000000..d122e8c --- /dev/null +++ b/disks.go @@ -0,0 +1,37 @@ +package virtigoxml + +/* + makes a droplet hard disk record + The full path doesn't matter. + We really just care about the qcow2 filename + it probably should be forced to be .qcow2 +*/ + +import ( + "path/filepath" + + pb "go.wit.com/lib/protobuf/virtbuf" + "go.wit.com/log" +) + +func InsertFilename(d *pb.Droplet, filename string) (*pb.Event, error) { + filebase := filepath.Base(filename) + dir := filepath.Dir(filename) + for _, disk := range d.Disks { + if disk.Filename == filebase { + log.Info("droplet", d.Hostname, "already has this disk", filename) + return nil, nil + } + } + // make a new Add Event + e := d.NewChangeEvent("Add Disk", "", filename) + + // add the disk protobuf entry + var disk *pb.Disk + disk = new(pb.Disk) + disk.Filename = filebase + disk.Filepath = dir + d.Disks = append(d.Disks, disk) + log.Info("New filename", filebase, dir) + return e, nil +} -- cgit v1.2.3