protected override CredentialsRefreshState GenerateNewCredentials()
{
CredentialsRefreshState newState = null;
try
{
// Attempt to get early credentials. OK to fail at this point.
newState = GetRefreshState();
}
catch (Exception e)
{
_logger.InfoFormat("Error getting credentials from Instance Profile service: {0}", e);
}
// If successful, save new credentials
if (newState != null)
_currentRefreshState = newState;
// If still not successful (no credentials available at start), attempt once more to
// get credentials, but now without swallowing exception
if (_currentRefreshState == null)
_currentRefreshState = GetRefreshState();
// Return credentials that will expire in at most one hour
CredentialsRefreshState state = GetEarlyRefreshState(_currentRefreshState);
return state;
}