protected override CredentialsRefreshState GenerateNewCredentials() { SecurityCredentials securityCredentials = null; Uri uri = new Uri(Server + Uri); JitteredDelay jitteredDelay = new JitteredDelay(new TimeSpan(0, 0, 0, 0, 200), new TimeSpan(0, 0, 0, 0, 50)); int num = 1; while (true) { try { securityCredentials = URIBasedRefreshingCredentialHelper.GetObjectFromResponse <SecurityCredentials>(uri); if (securityCredentials != null) { break; } } catch (Exception ex) { if (num == MaxRetries) { throw new AmazonServiceException(string.Format(CultureInfo.InvariantCulture, "Unable to retrieve credentials. Message = \"{0}\".", ex.Message)); } } AWSSDKUtils.Sleep(jitteredDelay.Next()); num++; } return(new CredentialsRefreshState { Credentials = new ImmutableCredentials(securityCredentials.AccessKeyId, securityCredentials.SecretAccessKey, securityCredentials.Token), Expiration = securityCredentials.Expiration }); }
public static IEnumerable <string> GetAvailableRoles() { string contents = URIBasedRefreshingCredentialHelper.GetContents(RolesUri); if (!string.IsNullOrEmpty(contents)) { string[] array = contents.Split(AliasSeparators, StringSplitOptions.RemoveEmptyEntries); string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string text = array2[i].Trim(); if (!string.IsNullOrEmpty(text)) { yield return(text); } } } }
private SecurityCredentials GetRoleCredentials() { return(URIBasedRefreshingCredentialHelper.GetObjectFromResponse <SecurityCredentials>(CurrentRoleUri)); }
private static SecurityInfo GetServiceInfo() { return(URIBasedRefreshingCredentialHelper.GetObjectFromResponse <SecurityInfo>(InfoUri)); }