diff --git a/cloudstack/resource_cloudstack_ipaddress.go b/cloudstack/resource_cloudstack_ipaddress.go index 1af251f2..a0c4ea2c 100644 --- a/cloudstack/resource_cloudstack_ipaddress.go +++ b/cloudstack/resource_cloudstack_ipaddress.go @@ -276,23 +276,21 @@ func resourceCloudStackIPAddressRead(d *schema.ResourceData, meta interface{}) e } func resourceCloudStackIPAddressDelete(d *schema.ResourceData, meta interface{}) error { - if !d.Get("is_source_nat").(bool) { - cs := meta.(*cloudstack.CloudStackClient) - - // Create a new parameter struct - p := cs.Address.NewDisassociateIpAddressParams(d.Id()) - - // Disassociate the IP address - if _, err := cs.Address.DisassociateIpAddress(p); err != nil { - // This is a very poor way to be told the ID does no longer exist :( - if strings.Contains(err.Error(), fmt.Sprintf( - "Invalid parameter id value=%s due to incorrect long value format, "+ - "or entity does not exist", d.Id())) { - return nil - } + cs := meta.(*cloudstack.CloudStackClient) - return fmt.Errorf("Error disassociating IP address %s: %s", d.Id(), err) + // Create a new parameter struct + p := cs.Address.NewDisassociateIpAddressParams(d.Id()) + + // Disassociate the IP address + if _, err := cs.Address.DisassociateIpAddress(p); err != nil { + // This is a very poor way to be told the ID does no longer exist :( + if strings.Contains(err.Error(), fmt.Sprintf( + "Invalid parameter id value=%s due to incorrect long value format, "+ + "or entity does not exist", d.Id())) { + return nil } + + return fmt.Errorf("Error disassociating IP address %s: %s", d.Id(), err) } return nil