Cloudformation cannot delete RolePolicy resource that has no name

0

I'm working with Cloudformation and have a stack I cannot delete because one of the nested stacks fails to delete. This nested stack fails to delete with the following reason:

Resource handler returned message: "Policy name and Role cannot be empty" (RequestToken: 2144f496-855c-85c2-b2d4-347d66e8b00a, HandlerErrorCode: InvalidRequest)

This is also the same reason the RolePolicy failed to create: in my Cloudformation template I had defined a AWS::IAM::RolePolicy resource with an empty PolicyName property.

How do I delete the policy and the stack?

已提問 9 個月前檢視次數 201 次
2 個答案
0
已接受的答案

When deleting the stack there's the option to retain resources - in this case the RolePolicy - up until now I've been trying to delete it along with the stack. I've been playing around with the AWS CLI to see if I could find the policy and somehow delete it via CLI, with no luck. I reasoned that maybe the policy doesn't actually exist, so if I choose to keep it when deleting the stack, Cloudformation won't attempt to delete the faulty or non-existent policy and will succeed at deleting the stack. That seems to have done the trick.

Maybe there's a bug somewhere, but not one that creates a RolePolicy with no name, but instead one that tried to delete a RolePolicy that a) doesn't exist, and b) has no name.

As far as I can tell, there are no extraneous RolePolicy objects in IAM associated with my account, so I assume I'm good to go!

已回答 9 個月前
0

Hello.
what about manually deleting the target resource from the management console before deleting the CloudFormation template?
Is it possible to try to delete the CloudFormation template after manually deleting it?

profile picture
專家
已回答 9 個月前
profile pictureAWS
專家
已審閱 9 個月前
  • I've tried deleting from console. I can't delete the Cloudformation resource because of the aforementioned error, and I can't find the RolePolicy in IAM to delete it (and circumvent the error in Cloudformation.) I tried deleting the Role manually, too, which succeeded but didn't help.

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南