Module: Aws::Session::Credentials::RoleStorage

Included in:
Config
Defined in:
lib/aws/session/credentials/role_storage.rb

Overview

Mixin to store roles

Instance Method Summary collapse

Instance Method Details

Parameters:

  • shell (Thor::Shell)


7
8
9
10
11
12
13
14
# File 'lib/aws/session/credentials/role_storage.rb', line 7

def print_roles(shell)
  roles_table = roles.map do |name, prof|
    cols = [name]
    cols << prof.role_arn
    cols
  end
  shell.print_table(roles_table.unshift(['Alias', 'Role ARN']))
end

#role(name) ⇒ Role

Parameters:

  • name (String)

Returns:



36
37
38
# File 'lib/aws/session/credentials/role_storage.rb', line 36

def role(name)
  roles[name]
end

#rolesHash<String,Role>

Returns:

  • (Hash<String,Role>)


17
18
19
20
21
22
23
# File 'lib/aws/session/credentials/role_storage.rb', line 17

def roles
  rls = {}
  roles_hash.each do |name, options|
    rls[name] = Role.new(options)
  end
  rls
end

#roles=(rls) ⇒ Object

Parameters:

  • rls (Hash<String,Role>)


26
27
28
29
30
31
32
# File 'lib/aws/session/credentials/role_storage.rb', line 26

def roles=(rls)
  hash = {}
  rls.each do |name, rl|
    hash[name] = rl.to_h
  end
  self.roles_hash = hash
end

#set_role(name, rl) ⇒ Object

Parameters:

  • name (String)
  • rl (Role)


42
43
44
45
46
47
# File 'lib/aws/session/credentials/role_storage.rb', line 42

def set_role(name, rl)
  rls = roles.dup
  rls[name] = rl
  self.roles = rls
  rl
end