From bcf92e8d39870a84e2273d9b950b7f58b02cafec Mon Sep 17 00:00:00 2001 From: Jack Pearkes Date: Thu, 24 Jul 2014 17:31:23 -0400 Subject: [PATCH] providers/digitalocean: handle destroyed droplets --- .../digitalocean/resource_digitalocean_droplet.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/builtin/providers/digitalocean/resource_digitalocean_droplet.go b/builtin/providers/digitalocean/resource_digitalocean_droplet.go index 875fd952b..daac43f09 100644 --- a/builtin/providers/digitalocean/resource_digitalocean_droplet.go +++ b/builtin/providers/digitalocean/resource_digitalocean_droplet.go @@ -194,6 +194,11 @@ func resource_digitalocean_droplet_destroy( // Destroy the droplet err := client.DestroyDroplet(s.ID) + // Handle remotely destroyed droplets + if strings.Contains(err.Error(), "404 Not Found") { + return nil + } + if err != nil { return fmt.Errorf("Error deleting Droplet: %s", err) } @@ -208,6 +213,12 @@ func resource_digitalocean_droplet_refresh( client := p.client droplet, err := resource_digitalocean_droplet_retrieve(s.ID, client) + + // Handle remotely destroyed droplets + if err != nil && strings.Contains(err.Error(), "404 Not Found") { + return nil, nil + } + if err != nil { return nil, err }