internal static AWSCredentials GetCredentials()
{
AWSCredentials credentials = null;
List<Exception> errors = new List<Exception>();
foreach (CredentialsGenerator generator in CredentialsGenerators)
{
try
{
credentials = generator();
}
catch (Exception e)
{
credentials = null;
errors.Add(e);
}
if (credentials != null)
return credentials;
}
if (credentials == null)
{
using (StringWriter writer = new StringWriter(CultureInfo.InvariantCulture))
{
writer.WriteLine("Unable to find credentials");
writer.WriteLine();
for (int i = 0; i < errors.Count; i++)
{
Exception e = errors[i];
writer.WriteLine("Exception {0} of {1}:", i + 1, errors.Count);
writer.WriteLine(e.ToString());
writer.WriteLine();
}
throw new AmazonServiceException(writer.ToString());
}
}
return credentials;
}
}