diff options
Diffstat (limited to 'digitalocean/main.go')
| -rw-r--r-- | digitalocean/main.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/digitalocean/main.go b/digitalocean/main.go index 7b1b4e4..de96521 100644 --- a/digitalocean/main.go +++ b/digitalocean/main.go @@ -13,9 +13,10 @@ var myDo *DigitalOcean func New(p *gui.Node) *DigitalOcean { if myDo != nil {return myDo} myDo = new(DigitalOcean) + myDo.ready = false myDo.parent = p - myDo.ready = false + myDo.dropMap = make(map[int]*Droplet) // Your personal API token from DigitalOcean. myDo.token = os.Getenv("DIGITALOCEAN_TOKEN") @@ -61,8 +62,14 @@ func (d *DigitalOcean) Update() bool { log.Error(d.err, "Error listing droplets") return false } - for _, droplet := range d.droplets { - d.NewDroplet(&droplet) + for _, droplet := range d.dpolled { + // check if the droplet ID already exists + if (d.dropMap[droplet.ID] != nil) { + log.Info("droplet.Update()", droplet.ID, droplet.Name, "already exists") + d.dropMap[droplet.ID].Update(&droplet) + continue + } + d.dropMap[droplet.ID] = d.NewDroplet(&droplet) } return true } |
