Skip to content

Commit

Permalink
kms: Treat keys in PendingDeletion state as deleted
Browse files Browse the repository at this point in the history
  • Loading branch information
radeksimko committed Jan 21, 2016
1 parent 944241c commit 42820ec
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
6 changes: 6 additions & 0 deletions builtin/providers/aws/resource_aws_kms_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,12 @@ func resourceAwsKmsKeyRead(d *schema.ResourceData, meta interface{}) error {
}
metadata := resp.KeyMetadata

if *metadata.KeyState == "PendingDeletion" {
log.Printf("[WARN] Removing KMS key %s because it's already gone", d.Id())
d.SetId("")
return nil
}

d.SetId(*metadata.KeyId)

d.Set("arn", metadata.Arn)
Expand Down
10 changes: 7 additions & 3 deletions builtin/providers/aws/resource_aws_kms_key_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,15 @@ func testAccCheckAWSKmsKeyDestroy(s *terraform.State) error {
KeyId: aws.String(rs.Primary.ID),
})

if err == nil {
return fmt.Errorf("KMS key still exists:\n%#v", out.KeyMetadata)
if err != nil {
return err
}

if *out.KeyMetadata.KeyState == "PendingDeletion" {
return nil
}

return err
return fmt.Errorf("KMS key still exists:\n%#v", out.KeyMetadata)
}

return nil
Expand Down

0 comments on commit 42820ec

Please sign in to comment.