providers/aws: retry destroying internet gateway for some time [GH-447]
This commit is contained in:
parent
2b50d44aa4
commit
f240c27e16
|
@ -81,14 +81,26 @@ func resource_aws_internet_gateway_destroy(
|
|||
}
|
||||
|
||||
log.Printf("[INFO] Deleting Internet Gateway: %s", s.ID)
|
||||
if _, err := ec2conn.DeleteInternetGateway(s.ID); err != nil {
|
||||
return resource.Retry(5*time.Minute, func() error {
|
||||
_, err := ec2conn.DeleteInternetGateway(s.ID)
|
||||
if err != nil {
|
||||
ec2err, ok := err.(*ec2.Error)
|
||||
if ok && ec2err.Code == "InvalidInternetGatewayID.NotFound" {
|
||||
if !ok {
|
||||
return err
|
||||
}
|
||||
|
||||
switch ec2err.Code {
|
||||
case "InvalidInternetGatewayID.NotFound":
|
||||
return nil
|
||||
case "DependencyViolation":
|
||||
return err // retry
|
||||
default:
|
||||
return resource.RetryError{err}
|
||||
}
|
||||
}
|
||||
|
||||
return fmt.Errorf("Error deleting internet gateway: %s", err)
|
||||
}
|
||||
})
|
||||
|
||||
// Wait for the internet gateway to actually delete
|
||||
log.Printf("[DEBUG] Waiting for internet gateway (%s) to delete", s.ID)
|
||||
|
|
Loading…
Reference in New Issue