summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Thames <will@thames.id.au>2014-11-01 12:44:44 +1000
committerJames Cammarata <jimi@sngx.net>2015-02-17 14:37:21 -0600
commite33945a1dd2f04f202157fd4c2790c85fea7354b (patch)
tree9650c594bce07fb471b253e79c1272f36e0bafab
parent9b273fd751be9c56a0576ebbbc49f0eb39bb6899 (diff)
downloadansible-modules-core-e33945a1dd2f04f202157fd4c2790c85fea7354b.tar.gz
Added better region handling and enabled eu-central-1
Make use of improved connect_to_aws that throws an exception if a region can't be connected to (e.g. eu-central-1 requires boto 2.34 onwards) Add eu-central-1 to the two modules that hardcode their regions Add us-gov-west-1 to ec2_ami_search to match documentation! This pull request makes use of the changes in ansible/ansible#9419
-rw-r--r--cloud/amazon/ec2_ami_search.py7
-rw-r--r--cloud/amazon/ec2_asg.py2
-rw-r--r--cloud/amazon/ec2_elb.py4
-rw-r--r--cloud/amazon/ec2_elb_lb.py2
-rw-r--r--cloud/amazon/ec2_facts.py1
-rw-r--r--cloud/amazon/ec2_lc.py2
-rw-r--r--cloud/amazon/ec2_metric_alarm.py2
-rw-r--r--cloud/amazon/ec2_scaling_policy.py4
8 files changed, 13 insertions, 11 deletions
diff --git a/cloud/amazon/ec2_ami_search.py b/cloud/amazon/ec2_ami_search.py
index 25875de3..36a0ab38 100644
--- a/cloud/amazon/ec2_ami_search.py
+++ b/cloud/amazon/ec2_ami_search.py
@@ -56,7 +56,8 @@ options:
required: false
default: us-east-1
choices: ["ap-northeast-1", "ap-southeast-1", "ap-southeast-2",
- "eu-west-1", "sa-east-1", "us-east-1", "us-west-1", "us-west-2", "us-gov-west-1"]
+ "eu-central-1", "eu-west-1", "sa-east-1", "us-east-1",
+ "us-west-1", "us-west-2", "us-gov-west-1"]
virt:
description: virutalization type
required: false
@@ -88,11 +89,13 @@ SUPPORTED_DISTROS = ['ubuntu']
AWS_REGIONS = ['ap-northeast-1',
'ap-southeast-1',
'ap-southeast-2',
+ 'eu-central-1',
'eu-west-1',
'sa-east-1',
'us-east-1',
'us-west-1',
- 'us-west-2']
+ 'us-west-2',
+ "us-gov-west-1"]
def get_url(module, url):
diff --git a/cloud/amazon/ec2_asg.py b/cloud/amazon/ec2_asg.py
index 2b060ccc..8f08aaf8 100644
--- a/cloud/amazon/ec2_asg.py
+++ b/cloud/amazon/ec2_asg.py
@@ -272,7 +272,7 @@ def create_autoscaling_group(connection, module):
region, ec2_url, aws_connect_params = get_aws_connection_info(module)
try:
ec2_connection = connect_to_aws(boto.ec2, region, **aws_connect_params)
- except boto.exception.NoAuthHandlerFound, e:
+ except (boto.exception.NoAuthHandlerFound, StandardError), e:
module.fail_json(msg=str(e))
asg_tags = []
diff --git a/cloud/amazon/ec2_elb.py b/cloud/amazon/ec2_elb.py
index 42cb1819..41883de1 100644
--- a/cloud/amazon/ec2_elb.py
+++ b/cloud/amazon/ec2_elb.py
@@ -258,7 +258,7 @@ class ElbManager:
try:
elb = connect_to_aws(boto.ec2.elb, self.region,
**self.aws_connect_params)
- except boto.exception.NoAuthHandlerFound, e:
+ except (boto.exception.NoAuthHandlerFound, StandardError), e:
self.module.fail_json(msg=str(e))
elbs = elb.get_all_load_balancers()
@@ -278,7 +278,7 @@ class ElbManager:
try:
ec2 = connect_to_aws(boto.ec2, self.region,
**self.aws_connect_params)
- except boto.exception.NoAuthHandlerFound, e:
+ except (boto.exception.NoAuthHandlerFound, StandardError), e:
self.module.fail_json(msg=str(e))
return ec2.get_only_instances(instance_ids=[self.instance_id])[0]
diff --git a/cloud/amazon/ec2_elb_lb.py b/cloud/amazon/ec2_elb_lb.py
index 462fbbcc..4717e767 100644
--- a/cloud/amazon/ec2_elb_lb.py
+++ b/cloud/amazon/ec2_elb_lb.py
@@ -374,7 +374,7 @@ class ElbManager(object):
try:
return connect_to_aws(boto.ec2.elb, self.region,
**self.aws_connect_params)
- except boto.exception.NoAuthHandlerFound, e:
+ except (boto.exception.NoAuthHandlerFound, StandardError), e:
self.module.fail_json(msg=str(e))
def _delete_elb(self):
diff --git a/cloud/amazon/ec2_facts.py b/cloud/amazon/ec2_facts.py
index 7b5c610d..c6fbf86b 100644
--- a/cloud/amazon/ec2_facts.py
+++ b/cloud/amazon/ec2_facts.py
@@ -65,6 +65,7 @@ class Ec2Metadata(object):
AWS_REGIONS = ('ap-northeast-1',
'ap-southeast-1',
'ap-southeast-2',
+ 'eu-central-1',
'eu-west-1',
'sa-east-1',
'us-east-1',
diff --git a/cloud/amazon/ec2_lc.py b/cloud/amazon/ec2_lc.py
index f75dfe6d..c4b7f70b 100644
--- a/cloud/amazon/ec2_lc.py
+++ b/cloud/amazon/ec2_lc.py
@@ -265,7 +265,7 @@ def main():
try:
connection = connect_to_aws(boto.ec2.autoscale, region, **aws_connect_params)
- except boto.exception.NoAuthHandlerFound, e:
+ except (boto.exception.NoAuthHandlerFound, StandardError), e:
module.fail_json(msg=str(e))
state = module.params.get('state')
diff --git a/cloud/amazon/ec2_metric_alarm.py b/cloud/amazon/ec2_metric_alarm.py
index 519f88f2..7a8d573c 100644
--- a/cloud/amazon/ec2_metric_alarm.py
+++ b/cloud/amazon/ec2_metric_alarm.py
@@ -271,7 +271,7 @@ def main():
region, ec2_url, aws_connect_params = get_aws_connection_info(module)
try:
connection = connect_to_aws(boto.ec2.cloudwatch, region, **aws_connect_params)
- except boto.exception.NoAuthHandlerFound, e:
+ except (boto.exception.NoAuthHandlerFound, StandardError), e:
module.fail_json(msg=str(e))
if state == 'present':
diff --git a/cloud/amazon/ec2_scaling_policy.py b/cloud/amazon/ec2_scaling_policy.py
index ad1fa7ce..8e7d459e 100644
--- a/cloud/amazon/ec2_scaling_policy.py
+++ b/cloud/amazon/ec2_scaling_policy.py
@@ -163,9 +163,7 @@ def main():
try:
connection = connect_to_aws(boto.ec2.autoscale, region, **aws_connect_params)
- if not connection:
- module.fail_json(msg="failed to connect to AWS for the given region: %s" % str(region))
- except boto.exception.NoAuthHandlerFound, e:
+ except (boto.exception.NoAuthHandlerFound, StandardError), e:
module.fail_json(msg = str(e))
if state == 'present':