From c62dcccd8dad7fab3e2dcda99db7937238890ed7 Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Mon, 4 Nov 2013 17:31:32 +0100 Subject: [PATCH] credential keys now actually work when set via env all credential keys are converted to uppercase, dashes replaced with underscores and prefixed with 'AWS_' --- providers/ec2/tasks/connection.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/providers/ec2/tasks/connection.py b/providers/ec2/tasks/connection.py index c6d47df..65d9871 100644 --- a/providers/ec2/tasks/connection.py +++ b/providers/ec2/tasks/connection.py @@ -20,9 +20,12 @@ class GetCredentials(Task): for key in keys: creds[key] = manifest.credentials[key] return creds - if all(getenv(key) is not None for key in keys): + + def env_key(key): + return ('aws-'+key).upper().replace('-', '_') + if all(getenv(env_key(key)) is not None for key in keys): for key in keys: - creds[key] = getenv(key) + creds[key] = getenv(env_key(key)) return creds raise RuntimeError(('No ec2 credentials found, they must all be specified ' 'exclusively via environment variables or through the manifest.'))