6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/cfn-model/parser/iam_user_parser.rb', line 6
def parse(cfn_model:, resource:)
iam_user = resource
iam_user.policy_objects = iam_user.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_user.groups.each { |group_name| iam_user.group_names << group_name }
user_to_group_additions = cfn_model.resources_by_type 'AWS::IAM::UserToGroupAddition'
user_to_group_additions.each do |user_to_group_addition|
if user_to_group_addition_has_username(user_to_group_addition.users,iam_user)
iam_user.group_names << user_to_group_addition.groupName
end
end
end
|