def get_credentials
begin
http = Net::HTTP.new(ip_address, port)
http.open_timeout = http_open_timeout
http.read_timeout = http_read_timeout
http.set_debug_output(http_debug_output) if
http_debug_output
http.start
path = '/latest/meta-data/iam/security-credentials/'
profile_name = get(http, path).lines.map(&:strip).first
path << profile_name
session = JSON.parse(get(http, path))
http.finish
credentials = {}
credentials[:access_key_id] = session['AccessKeyId']
credentials[:secret_access_key] = session['SecretAccessKey']
credentials[:session_token] = session['Token']
@credentials_expiration = Time.parse(session['Expiration'])
credentials
rescue *FAILURES => e
{}
end
end