lib/instance_agent/file_credentials.rb
require 'aws-sdk-core'
module InstanceAgent
class FileCredentials
include Aws::CredentialProvider
include Aws::RefreshingCredentials
# @param [String] path
def initialize(path)
@path = path
super()
end
private
def refresh
@credentials = Aws::SharedCredentials.new(path: @path).credentials
raise "Failed to load credentials from path #{@path}" if @credentials.nil?
@expiration = Time.new + 1800
end
end
end