From 4f2281c7f7f09426308dca509fc48da148c64baa Mon Sep 17 00:00:00 2001 From: Harry Rybacki Date: Tue, 30 Jun 2015 13:48:44 -0400 Subject: [PATCH 1/4] Add EUCentral1 region to s3 --- boto/s3/connection.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boto/s3/connection.py b/boto/s3/connection.py index 0fcc1f5957..dc2aa44351 100644 --- a/boto/s3/connection.py +++ b/boto/s3/connection.py @@ -138,7 +138,8 @@ def build_url_base(self, connection, protocol, server, bucket, key=''): class Location(object): DEFAULT = '' # US Classic Region - EU = 'EU' + EU = 'EU' # Ireland + EUCentral1 = 'eu-central-1' # Frankfurt USWest = 'us-west-1' USWest2 = 'us-west-2' SAEast = 'sa-east-1' From 7029e8775be9a07895c313aacc7d62074e73269c Mon Sep 17 00:00:00 2001 From: Harry Rybacki Date: Tue, 30 Jun 2015 13:49:20 -0400 Subject: [PATCH 2/4] Update s3 tutorial with EUCentral1 region --- docs/source/s3_tut.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/s3_tut.rst b/docs/source/s3_tut.rst index adaa1174b8..dcf147c229 100644 --- a/docs/source/s3_tut.rst +++ b/docs/source/s3_tut.rst @@ -81,6 +81,7 @@ boto.s3.connection module, like this:: APSoutheast2 DEFAULT EU + EUCentral1 SAEast USWest USWest2 From 8a9009059683b1db806f8257d85291bf3f20dd45 Mon Sep 17 00:00:00 2001 From: Harry Rybacki Date: Tue, 30 Jun 2015 14:06:24 -0400 Subject: [PATCH 3/4] Add EUCentral1 connetion test --- tests/integration/s3/test_connect_to_region.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/integration/s3/test_connect_to_region.py b/tests/integration/s3/test_connect_to_region.py index 5c76ada941..938de3a301 100644 --- a/tests/integration/s3/test_connect_to_region.py +++ b/tests/integration/s3/test_connect_to_region.py @@ -57,6 +57,11 @@ def testSuccessWithDefaultUSEast1(self): self.assertEquals('s3.amazonaws.com', connection.host) self.assertIsInstance(connection, S3Connection) + def testSuccessWithDefaultEUCentral1(self): + connection = connect_to_region('eu-central-1') + self.assertEquals('s3.eu-central-1.amazonaws.com', connection.host) + self.assertIsInstance(connection, S3Connection) + def testDefaultWithInvalidHost(self): connect_args = dict({'host':''}) connection = connect_to_region('us-west-2', **connect_args) From 29de197e3742fa37338760f6e4752ecd90fc4df3 Mon Sep 17 00:00:00 2001 From: Harry Rybacki Date: Mon, 6 Jul 2015 11:05:22 -0400 Subject: [PATCH 4/4] Add bucket creation unit test Add eu-central-1 bucket location unittest --- tests/unit/s3/test_bucket.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/unit/s3/test_bucket.py b/tests/unit/s3/test_bucket.py index 72e10ed2f9..f35e078ba1 100644 --- a/tests/unit/s3/test_bucket.py +++ b/tests/unit/s3/test_bucket.py @@ -6,7 +6,7 @@ from tests.unit import AWSMockServiceTestCase from boto.exception import BotoClientError -from boto.s3.connection import S3Connection +from boto.s3.connection import Location, S3Connection from boto.s3.bucket import Bucket from boto.s3.deletemarker import DeleteMarker from boto.s3.key import Key @@ -25,6 +25,14 @@ def test_bucket_create_bucket(self): bucket = self.service_connection.create_bucket('mybucket_create') self.assertEqual(bucket.name, 'mybucket_create') + def test_bucket_create_eu_central_1_location(self): + self.set_http_response(status_code=200) + bucket = self.service_connection.create_bucket( + 'eu_central_1_bucket', + location=Location.EUCentral1 + ) + self.assertEqual(bucket.name, 'eu_central_1_bucket') + def test_bucket_constructor(self): self.set_http_response(status_code=200) bucket = Bucket(self.service_connection, 'mybucket_constructor')