class Awful::Sts

Public Instance Methods

assume_role(arn, name) click to toggle source
# File lib/awful/sts.rb, line 19
def assume_role(arn, name)
  opts = only_keys_matching(symbolize_keys(options), %i[duration_seconds policy])
  params = { role_arn: arn, role_session_name: name }.merge(opts)
  sts.assume_role(params).output do |session|
    if options[:env]
      puts %i[access_key_id secret_access_key session_token].map { |var|
        "export AWS_#{var.upcase}=#{session.credentials.send(var)}"
      }
    else
      puts YAML.dump(stringify_keys(session.to_hash))
    end
  end
end
sts() click to toggle source
# File lib/awful/sts.rb, line 10
def sts
  @sts ||= Aws::STS::Client.new
end