lib/aws_assume_role/credentials/factories/environment.rb
# frozen_string_literal: true
require_relative "abstract_factory"
class AwsAssumeRole::Credentials::Factories::Environment < AwsAssumeRole::Credentials::Factories::AbstractFactory
type :credential_provider
priority 10
def initialize(_options, **)
key = %w[AWS_ACCESS_KEY_ID AMAZON_ACCESS_KEY_ID AWS_ACCESS_KEY]
secret = %w[AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY AWS_SECRET_KEY]
token = %w[AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN]
region = %w[AWS_DEFAULT_REGION]
profile = %w[AWS_PROFILE]
@credentials = Aws::Credentials.new(envar(key), envar(secret), envar(token))
@region = envar(region)
@profile = envar(profile)
end
def envar(keys)
keys.each do |key|
return ENV[key] if ENV.key?(key)
end
nil
end
end