provider/aws: fix CheckDestroy for aws_eip tests
This commit is contained in:
parent
51732ac9eb
commit
10cc513ae0
|
@ -86,26 +86,38 @@ func testAccCheckAWSEIPDestroy(s *terraform.State) error {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if strings.Contains(rs.Primary.ID, "eipalloc") {
|
||||||
|
req := &ec2.DescribeAddressesInput{
|
||||||
|
AllocationIds: []*string{aws.String(rs.Primary.ID)},
|
||||||
|
}
|
||||||
|
describe, err := conn.DescribeAddresses(req)
|
||||||
|
if err != nil {
|
||||||
|
// Verify the error is what we want
|
||||||
|
if ae, ok := err.(awserr.Error); ok && ae.Code() == "InvalidAllocationID.NotFound" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(describe.Addresses) > 0 {
|
||||||
|
return fmt.Errorf("still exists")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
req := &ec2.DescribeAddressesInput{
|
req := &ec2.DescribeAddressesInput{
|
||||||
PublicIps: []*string{aws.String(rs.Primary.ID)},
|
PublicIps: []*string{aws.String(rs.Primary.ID)},
|
||||||
}
|
}
|
||||||
describe, err := conn.DescribeAddresses(req)
|
describe, err := conn.DescribeAddresses(req)
|
||||||
|
if err != nil {
|
||||||
if err == nil {
|
// Verify the error is what we want
|
||||||
if len(describe.Addresses) != 0 &&
|
if ae, ok := err.(awserr.Error); ok && ae.Code() == "InvalidAllocationID.NotFound" {
|
||||||
*describe.Addresses[0].PublicIp == rs.Primary.ID {
|
continue
|
||||||
return fmt.Errorf("EIP still exists")
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Verify the error
|
|
||||||
providerErr, ok := err.(awserr.Error)
|
|
||||||
if !ok {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if providerErr.Code() != "InvalidAllocationID.NotFound" {
|
if len(describe.Addresses) > 0 {
|
||||||
return fmt.Errorf("Unexpected error: %s", err)
|
return fmt.Errorf("still exists")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue