Class: Soltius::Utils::Aws
- Inherits:
-
Object
- Object
- Soltius::Utils::Aws
- Defined in:
- lib/soltius/utils/aws.rb
Class Method Summary collapse
-
.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).
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 |