class AWS::Core::CredentialProviders::ENVProvider
Fetches credentials from the environment (ENV). You construct an ENV provider with a prefix. Given the prefix “AWS” ENV will be checked for the following keys:
-
AWS_ACCESS_KEY_ID
-
AWS_SECRET_ACCESS_KEY
-
AWS_SESSION_TOKEN (optional)
Attributes
prefix[R]
@return [String]
Public Class Methods
new(prefix, suffixes=Hash[KEYS.map{|key| [key, key.to_s.upcase]}])
click to toggle source
@param [String] prefix The prefix to apply to the ENV variable.
# File lib/aws/core/credential_providers.rb, line 203 def initialize(prefix, suffixes=Hash[KEYS.map{|key| [key, key.to_s.upcase]}]) @prefix = prefix @suffixes = suffixes end
Public Instance Methods
get_credentials()
click to toggle source
(see Provider#get_credentials
)
# File lib/aws/core/credential_providers.rb, line 212 def get_credentials credentials = {} KEYS.each do |key| if value = ENV["#{@prefix}_#{@suffixes[key]}"] credentials[key] = value end end # Merge in CredentialFileProvider credentials if # a #{@prefix}_CREDENTIAL_FILE environment(ENV) variable is set if ENV["#{@prefix}_CREDENTIAL_FILE"] credentials.merge! CredentialFileProvider.new(ENV["#{@prefix}_CREDENTIAL_FILE"]).get_credentials end credentials end