module IdentityAccessManagement
Module for dealing with IAM.
Public Class Methods
api(region = Settings.default_region)
click to toggle source
# File lib/superluminal/iam.rb, line 8 def self.api(region = Settings.default_region) @api ||= Aws::IAM::Client.new region: region end
apply_policies(to_user: nil, for_project: nil)
click to toggle source
# File lib/superluminal/iam.rb, line 48 def self.apply_policies(to_user: nil, for_project: nil) policies = UserPolicy.generate(for_project, Settings) policies.each do |policy| UserPolicy.upload policy[:document], named: policy[:name], for_user: to_user Announce.success "Applied policy #{ policy[:name] } to #{ to_user }." end end
create_user(user_name)
click to toggle source
# File lib/superluminal/iam.rb, line 41 def self.create_user(user_name) api.create_user user_name: user_name Announce.success "#{ user_name } created." rescue Aws::IAM::Errors::EntityAlreadyExists Announce.success "#{ user_name } already exists." end