Class: StackMaster::RoleAssumer

Inherits:
Object
  • Object
show all
Defined in:
lib/stack_master/role_assumer.rb

Constant Summary collapse

BlockNotSpecified =
Class.new(StandardError)

Instance Method Summary collapse

Constructor Details

#initializeRoleAssumer

Returns a new instance of RoleAssumer.



7
8
9
# File 'lib/stack_master/role_assumer.rb', line 7

def initialize
  @credentials = {}
end

Instance Method Details

#assume_role(account, role, &block) ⇒ Object

Raises:



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/stack_master/role_assumer.rb', line 11

def assume_role(, role, &block)
  raise BlockNotSpecified unless block_given?
  raise ArgumentError, "Both 'account' and 'role' are required to assume a role" if .nil? || role.nil?

  role_credentials = assume_role_credentials(, role)
  with_temporary_credentials(role_credentials) do
    with_temporary_cf_driver do
      block.call
    end
  end
end