Class: Soltius::Utils::Aws

Inherits:
Object
  • Object
show all
Defined in:
lib/soltius/utils/aws.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.parse_arn(arn) ⇒ Object

– Helper Function: parse_arn Return a Hash with the elements of an AWS ARN Source: gist.github.com/gene1wood/5299969edc4ef21d8efcfea52158dd40 (Source was in Python. Converted to Ruby)



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/soltius/utils/aws.rb', line 25

def self.parse_arn(arn)
  elements = arn.split(':')
  result = {arn: elements[0],
            partition: elements[1],
            service: elements[2],
            region: elements[3],
            account: elements[4]}
  if elements.length == 7
    result[:resourcetype] = elements[5]
    result[:resource]     = elements[6]
  elsif not elements[5].include? '/'
    result[:resource] = elements[5]
    result[:resourcetype] = None
  else
    result[:resourcetype], result[:resource] = elements[5].split('/')
  end
  return result
end

Instance Method Details

#assume_role(region, role_arn) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/soltius/utils/aws.rb', line 7

def assume_role(region, role_arn)
  role_session_name = 'AWSpec'

  ::Awsecrets.load
  ::Aws.config[:credentials] = ::Aws::AssumeRoleCredentials.new(
    client: ::Aws::STS::Client.new(
            region: region,
            credentials: ::Aws.config[:credentials]
          ),
    role_arn: role_arn,
    role_session_name: role_session_name
  )
end