6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/cfn-model/parser/iam_role_parser.rb', line 6
def parse(cfn_model:, resource:)
iam_role = resource
iam_role.assume_role_policy_document = PolicyDocumentParser.new.parse(iam_role.assumeRolePolicyDocument)
iam_role.policy_objects = iam_role.policies.map do |policy|
next unless policy.has_key? 'PolicyName'
new_policy = Policy.new
new_policy.policy_name = policy['PolicyName']
new_policy.policy_document = PolicyDocumentParser.new.parse(policy['PolicyDocument'])
new_policy
end.reject { |policy| policy.nil? }
iam_role
end
|