@api private
# File lib/aws-sdk-core/credential_provider_chain.rb, line 5 def initialize(config) @config = config end
# File lib/aws-sdk-core/credential_provider_chain.rb, line 9 def resolve providers.each do |method_name, options| credentials = send(method_name, options.merge(config: @config)) return credentials if credentials && credentials.set? end nil end
# File lib/aws-sdk-core/credential_provider_chain.rb, line 38 def env_credentials(options) env_keys = [] if prefix = options[:prefix] env_keys << "#{prefix}_ACCESS_KEY_ID" env_keys << "#{prefix}_SECRET_ACCESS_KEY" env_keys << "#{prefix}_SESSION_TOKEN" else env_keys << options[:key] env_keys << options[:secret] end Credentials.new(*ENV.values_at(*env_keys)) end
# File lib/aws-sdk-core/credential_provider_chain.rb, line 57 def instance_profile_credentials(*args) InstanceProfileCredentials.new end
# File lib/aws-sdk-core/credential_provider_chain.rb, line 19 def providers [ [:static_credentials, {}], [:env_credentials, { prefix: 'AWS' }], [:env_credentials, { prefix: 'AMAZON' }], [:env_credentials, { key:'AWS_ACCESS_KEY', secret:'AWS_SECRET_KEY' }], [:shared_credentials, {}], [:instance_profile_credentials, {}], ] end
# File lib/aws-sdk-core/credential_provider_chain.rb, line 30 def static_credentials(options) config = options[:config] Credentials.new( config.access_key_id, config.secret_access_key, config.session_token) end