class Himeko::UserMimickingRole::Driver

Attributes

iam[R]

Public Class Methods

new(iam) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 88
def initialize(iam)
  @iam = iam
end

Public Instance Methods

attach_role_policy(role_name, policy_arn) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 135
def attach_role_policy(role_name, policy_arn)
  iam.attach_role_policy(role_name: role_name, policy_arn: policy_arn)
end
create_role(path:, role_name:, assume_role_policy_document:, max_session_duration: 43200) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 126
def create_role(path:, role_name:, assume_role_policy_document:, max_session_duration: 43200)
  iam.create_role(
    path: path,
    role_name: role_name,
    assume_role_policy_document: assume_role_policy_document.to_json,
    max_session_duration: max_session_duration
  ).role.arn
end
get_group_policy(group_name, policy_name) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 118
def get_group_policy(group_name, policy_name)
  URI.decode_www_form_component(iam.get_group_policy(group_name: group_name, policy_name: policy_name).policy_document)
end
get_user(username) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 94
def get_user(username)
  iam.get_user(user_name: username).user
end
get_user_policy(username, policy_name) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 106
def get_user_policy(username, policy_name)
  URI.decode_www_form_component(iam.get_user_policy(user_name: username, policy_name: policy_name).policy_document)
end
list_attached_group_policies(group_name) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 122
def list_attached_group_policies(group_name)
  iam.list_attached_group_policies(group_name: group_name).each.flat_map(&:attached_policies).map(&:policy_arn)
end
list_attached_user_policies(username) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 98
def list_attached_user_policies(username)
  iam.list_attached_user_policies(user_name: username).each.flat_map(&:attached_policies).map(&:policy_arn)
end
list_group_policies(group_name) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 114
def list_group_policies(group_name)
  iam.list_group_policies(group_name: group_name).policy_names
end
list_groups_for_user(username) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 110
def list_groups_for_user(username)
  iam.list_groups_for_user(user_name: username).groups.map(&:group_name)
end
list_user_policies(username) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 102
def list_user_policies(username)
  iam.list_user_policies(user_name: username).policy_names
end
put_role_policy(role_name, policy_name, policy) click to toggle source
# File lib/himeko/user_mimicking_role.rb, line 139
def put_role_policy(role_name, policy_name, policy)
  iam.put_role_policy(
    role_name: role_name,
    policy_name: policy_name,
    policy_document: policy,
  )
end