From 1899e9e6cc83bc4b106f2aa979012cc5723d94ae Mon Sep 17 00:00:00 2001 From: Ryan Sydnor Date: Fri, 20 Nov 2015 13:55:44 -0500 Subject: [PATCH] Use boto normalized location for bucket creation If a bucket is being created in us-east-1, the module passed 'us-east-1' to boto's s3.create_bucket method rather than Location.DEFAULT (an empty string). This caused boto to generate invalid XML which AWS was unable to interpret. --- lib/ansible/modules/extras/cloud/amazon/s3_bucket.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py b/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py index cc0442eccc..da9d83b449 100644 --- a/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py +++ b/lib/ansible/modules/extras/cloud/amazon/s3_bucket.py @@ -133,11 +133,10 @@ def create_tags_container(tags): tags_obj.add_tag_set(tag_set) return tags_obj -def create_bucket(connection, module): +def create_bucket(connection, module, location): policy = module.params.get("policy") name = module.params.get("name") - region = module.params.get("region") requester_pays = module.params.get("requester_pays") tags = module.params.get("tags") versioning = module.params.get("versioning") @@ -147,7 +146,7 @@ def create_bucket(connection, module): bucket = connection.get_bucket(name) except S3ResponseError, e: try: - bucket = connection.create_bucket(name, location=region) + bucket = connection.create_bucket(name, location=location) changed = True except S3CreateError, e: module.fail_json(msg=e.message) @@ -380,7 +379,7 @@ def main(): state = module.params.get("state") if state == 'present': - create_bucket(connection, module) + create_bucket(connection, module, location) elif state == 'absent': destroy_bucket(connection, module)