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_policy(id) ⇒ Object
- #find_iam_role(id) ⇒ Object
- #find_iam_user(id) ⇒ Object
- #select_all_attached_policies ⇒ Object
- #select_attached_entities(policy_id) ⇒ Object
- #select_attached_groups(policy_id) ⇒ Object
- #select_attached_roles(policy_id) ⇒ Object
- #select_attached_users(policy_id) ⇒ Object
- #select_iam_group_by_user_name(user_name) ⇒ Object
- #select_iam_policy_by_group_name(group_name) ⇒ Object
- #select_iam_policy_by_role_name(role_name) ⇒ Object
- #select_iam_policy_by_user_name(user_name) ⇒ Object
Instance Method Details
#find_iam_group(id) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/awspec/helper/finder/iam.rb', line 18 def find_iam_group(id) selected = [] res = @iam_client.list_groups loop do selected += res.groups.select do |g| g.group_name == id || g.group_id == id || g.arn == id end (res.next_page? && res = res.next_page) || break end selected.first if selected.count == 1 end |
#find_iam_policy(id) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/awspec/helper/finder/iam.rb', line 46 def find_iam_policy(id) selected = [] res = @iam_client.list_policies loop do selected += res.policies.select do |p| p.policy_name == id || p.policy_id == id || p.arn == id end (res.next_page? && res = res.next_page) || break end selected.first if selected.count == 1 end |
#find_iam_role(id) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/awspec/helper/finder/iam.rb', line 32 def find_iam_role(id) selected = [] res = @iam_client.list_roles loop do selected += res.roles.select do |r| r.role_name == id || r.role_id == id || r.arn == id end (res.next_page? && res = res.next_page) || break end selected.first if selected.count == 1 end |
#find_iam_user(id) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/awspec/helper/finder/iam.rb', line 4 def find_iam_user(id) selected = [] res = @iam_client.list_users loop do selected += res.users.select do |u| u.user_name == id || u.user_id == id || u.arn == id end (res.next_page? && res = res.next_page) || break end selected.first if selected.count == 1 end |
#select_all_attached_policies ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/awspec/helper/finder/iam.rb', line 88 def select_all_attached_policies selected = [] res = @iam_client.list_policies loop do selected += res.policies.select { |p| p. > 0 } (res.next_page? && res = res.next_page) || break end selected end |
#select_attached_entities(policy_id) ⇒ Object
100 101 102 103 |
# File 'lib/awspec/helper/finder/iam.rb', line 100 def select_attached_entities(policy_id) policy = find_iam_policy(policy_id) @iam_client.list_entities_for_policy(policy_arn: policy[:arn]) end |
#select_attached_groups(policy_id) ⇒ Object
110 111 112 113 |
# File 'lib/awspec/helper/finder/iam.rb', line 110 def select_attached_groups(policy_id) entities = select_attached_entities(policy_id) entities.policy_groups end |
#select_attached_roles(policy_id) ⇒ Object
115 116 117 118 |
# File 'lib/awspec/helper/finder/iam.rb', line 115 def select_attached_roles(policy_id) entities = select_attached_entities(policy_id) entities.policy_roles end |
#select_attached_users(policy_id) ⇒ Object
105 106 107 108 |
# File 'lib/awspec/helper/finder/iam.rb', line 105 def select_attached_users(policy_id) entities = select_attached_entities(policy_id) entities.policy_users end |
#select_iam_group_by_user_name(user_name) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/awspec/helper/finder/iam.rb', line 60 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
74 75 76 77 78 79 |
# File 'lib/awspec/helper/finder/iam.rb', line 74 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_role_name(role_name) ⇒ Object
81 82 83 84 85 86 |
# File 'lib/awspec/helper/finder/iam.rb', line 81 def select_iam_policy_by_role_name(role_name) res = @iam_client.list_attached_role_policies({ role_name: role_name }) res.attached_policies end |
#select_iam_policy_by_user_name(user_name) ⇒ Object
67 68 69 70 71 72 |
# File 'lib/awspec/helper/finder/iam.rb', line 67 def select_iam_policy_by_user_name(user_name) res = @iam_client.list_attached_user_policies({ user_name: user_name }) res.attached_policies end |