Do not require AWS credentials in manifest file

Boto allows for storing credentials in ~/.boto file; user those
if user has not provider one in manifest file.
This commit is contained in:
Tomasz Rybak 2014-06-30 20:23:44 +02:00
parent bde3019b45
commit 7412ca26d0

View file

@ -29,6 +29,15 @@ class GetCredentials(Task):
for key in keys:
creds[key] = getenv(env_key(key))
return creds
def provider_key(key):
return key.replace('-', '_')
import boto.provider
provider = boto.provider.Provider('aws')
if all(getattr(provider, provider_key(key)) is not None for key in keys):
for key in keys:
creds[key] = getattr(provider, provider_key(key))
return creds
raise RuntimeError(('No ec2 credentials found, they must all be specified '
'exclusively via environment variables or through the manifest.'))