Policy validation precedes finding policy for create_policy_version.
This commit is contained in:
parent
c46857e3d3
commit
ed2682582f
@ -764,13 +764,13 @@ class IAMBackend(BaseBackend):
|
|||||||
role.tags.pop(ref_key, None)
|
role.tags.pop(ref_key, None)
|
||||||
|
|
||||||
def create_policy_version(self, policy_arn, policy_document, set_as_default):
|
def create_policy_version(self, policy_arn, policy_document, set_as_default):
|
||||||
|
iam_policy_document_validator = IAMPolicyDocumentValidator(policy_document)
|
||||||
|
iam_policy_document_validator.validate()
|
||||||
|
|
||||||
policy = self.get_policy(policy_arn)
|
policy = self.get_policy(policy_arn)
|
||||||
if not policy:
|
if not policy:
|
||||||
raise IAMNotFoundException("Policy not found")
|
raise IAMNotFoundException("Policy not found")
|
||||||
|
|
||||||
iam_policy_document_validator = IAMPolicyDocumentValidator(policy_document)
|
|
||||||
iam_policy_document_validator.validate()
|
|
||||||
|
|
||||||
version = PolicyVersion(policy_arn, policy_document, set_as_default)
|
version = PolicyVersion(policy_arn, policy_document, set_as_default)
|
||||||
policy.versions.append(version)
|
policy.versions.append(version)
|
||||||
version.version_id = 'v{0}'.format(policy.next_version_num)
|
version.version_id = 'v{0}'.format(policy.next_version_num)
|
||||||
|
Loading…
Reference in New Issue
Block a user