Class: StackMaster::RoleAssumer
- Inherits:
-
Object
- Object
- StackMaster::RoleAssumer
- Defined in:
- lib/stack_master/role_assumer.rb
Constant Summary collapse
- BlockNotSpecified =
Class.new(StandardError)
Instance Method Summary collapse
- #assume_role(account, role, &block) ⇒ Object
-
#initialize ⇒ RoleAssumer
constructor
A new instance of RoleAssumer.
Constructor Details
#initialize ⇒ RoleAssumer
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
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/stack_master/role_assumer.rb', line 11 def assume_role(account, role, &block) raise BlockNotSpecified unless block_given? raise ArgumentError, "Both 'account' and 'role' are required to assume a role" if account.nil? || role.nil? role_credentials = assume_role_credentials(account, role) with_temporary_credentials(role_credentials) do with_temporary_cf_driver do block.call end end end |