provider/aws: fix potential aws_route crashes

Fixes #5865
This commit is contained in:
Paul Hinze 2016-03-25 14:55:27 -05:00
parent 3a44fc7b3f
commit 70096c5ac0
1 changed files with 12 additions and 1 deletions

View File

@ -289,7 +289,13 @@ func resourceAwsRouteExists(d *schema.ResourceData, meta interface{}) (bool, err
res, err := conn.DescribeRouteTables(findOpts) res, err := conn.DescribeRouteTables(findOpts)
if err != nil { if err != nil {
return false, err return false, fmt.Errorf("Error while checking if route exists: %s", err)
}
if len(res.RouteTables) < 1 || res.RouteTables[0] == nil {
log.Printf("[WARN] Route table %s is gone, so route does not exist.",
routeTableId)
return false, nil
} }
cidr := d.Get("destination_cidr_block").(string) cidr := d.Get("destination_cidr_block").(string)
@ -320,6 +326,11 @@ func findResourceRoute(conn *ec2.EC2, rtbid string, cidr string) (*ec2.Route, er
return nil, err return nil, err
} }
if len(resp.RouteTables) < 1 || resp.RouteTables[0] == nil {
return nil, fmt.Errorf("Route table %s is gone, so route does not exist.",
routeTableID)
}
for _, route := range (*resp.RouteTables[0]).Routes { for _, route := range (*resp.RouteTables[0]).Routes {
if *route.DestinationCidrBlock == cidr { if *route.DestinationCidrBlock == cidr {
return route, nil return route, nil