Module: Awspec::Helper::Finder::Iam
- Included in:
- Awspec::Helper::Finder
- Defined in:
- lib/awspec/helper/finder/iam.rb
Instance Method Summary collapse
- #find_iam_group(id) ⇒ Object
- #find_iam_user(id) ⇒ Object
- #select_iam_group_by_user_name(user_name) ⇒ Object
- #select_iam_policy_by_group_name(group_name) ⇒ Object
- #select_iam_policy_by_user_name(user_name) ⇒ Object
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 |