module Aws::RefreshingCredentials

def access_key_id

Returns:
  • (String, nil) -
def access_key_id
  refresh_if_near_expiration
  @access_key_id
end

def expiration

Returns:
  • (Time, nil) -
def expiration
  refresh_if_near_expiration
  @expiration
end

def initialize(options = {})

def initialize(options = {})
  @mutex = Mutex.new
  refresh
end

def near_expiration?

def near_expiration?
  if @expiration
    # are we within 5 minutes of expiration?
    (Time.now.to_i + 5 * 60) > @expiration.to_i
  else
    true
  end
end

def refresh!

Returns:
  • (void) -
def refresh!
  @mutex.synchronize { refresh }
end

def refresh_if_near_expiration

5 minutes of expiration.
Refreshes instance metadata credentials if they are within
def refresh_if_near_expiration
  if near_expiration?
    @mutex.synchronize do
      refresh if near_expiration?
    end
  end
end

def secret_access_key

Returns:
  • (String, nil) -
def secret_access_key
  refresh_if_near_expiration
  @secret_access_key
end

def session_token

Returns:
  • (String, nil) -
def session_token
  refresh_if_near_expiration
  @session_token
end