Allow iam_policy to maintain idempotentce if the role referenced has been removed

pull/18777/head
whiter 9 years ago committed by Matt Clay
parent 6bc4c877fc
commit c0d135e44c

@ -181,6 +181,14 @@ def role_action(module, iam, name, policy_name, skip, pdoc, state):
current_policies = [cp for cp in iam.list_role_policies(name). current_policies = [cp for cp in iam.list_role_policies(name).
list_role_policies_result. list_role_policies_result.
policy_names] policy_names]
except boto.exception.BotoServerError as e:
if e.error_code == "NoSuchEntity":
# Role doesn't exist so it's safe to assume the policy doesn't either
module.exit_json(changed=False)
else:
module.fail_json(e.message)
try:
for pol in current_policies: for pol in current_policies:
if urllib.unquote(iam.get_role_policy(name, pol). if urllib.unquote(iam.get_role_policy(name, pol).
get_role_policy_result.policy_document) == pdoc: get_role_policy_result.policy_document) == pdoc:

Loading…
Cancel
Save