Module: Awspec::Helper::Finder::Iam

Included in:
Awspec::Helper::Finder
Defined in:
lib/awspec/helper/finder/iam.rb

Instance Method Summary collapse

Instance Method Details

#find_iam_group(id) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/awspec/helper/finder/iam.rb', line 21

def find_iam_group(id)
  groups = []
  marker = nil
  loop do
    res = @iam_client.list_groups(
      marker: marker
    )
    marker = res.marker
    break if res.groups.empty?
    res.groups.each do |group|
      groups.push(group) if group.group_name == id || group.group_id == id
    end
    break unless marker
  end
  return groups[0] if groups.count == 1
end

#find_iam_user(id) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/awspec/helper/finder/iam.rb', line 4

def find_iam_user(id)
  users = []
  marker = nil
  loop do
    res = @iam_client.list_users(
      marker: marker
    )
    marker = res.marker
    break if res.users.empty?
    res.users.each do |user|
      users.push(user) if user.user_name == id || user.user_id == id
    end
    break unless marker
  end
  return users[0] if users.count == 1
end

#select_iam_group_by_user_name(user_name) ⇒ Object



38
39
40
41
42
43
# File 'lib/awspec/helper/finder/iam.rb', line 38

def select_iam_group_by_user_name(user_name)
  res = @iam_client.list_groups_for_user({
                                           user_name: user_name
                                         })
  res.groups
end

#select_iam_policy_by_group_name(group_name) ⇒ Object



52
53
54
55
56
57
# File 'lib/awspec/helper/finder/iam.rb', line 52

def select_iam_policy_by_group_name(group_name)
  res = @iam_client.list_attached_group_policies({
                                                   group_name: group_name
                                                 })
  res.attached_policies
end

#select_iam_policy_by_user_name(user_name) ⇒ Object



45
46
47
48
49
50
# File 'lib/awspec/helper/finder/iam.rb', line 45

def select_iam_policy_by_user_name(user_name)
  res = @iam_client.list_attached_user_policies({
                                                  user_name: user_name
                                                })
  res.attached_policies
end