From a56fe04683031e1eec0414c1726df4704c7ff79f 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. --- cloud/amazon/s3_bucket.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cloud/amazon/s3_bucket.py b/cloud/amazon/s3_bucket.py index aa6cc9d1e41..22e68927016 100644 --- a/cloud/amazon/s3_bucket.py +++ b/cloud/amazon/s3_bucket.py @@ -129,11 +129,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") @@ -143,7 +142,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) @@ -376,7 +375,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)