From ce724cbed00f60aac402eb26430555f71327a5be Mon Sep 17 00:00:00 2001 From: Patrick O'Brien Date: Mon, 18 Sep 2017 17:37:16 -0700 Subject: [PATCH] Route53: Allow region to be specified --- octodns/provider/route53.py | 11 ++++++++--- tests/test_octodns_provider_route53.py | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/octodns/provider/route53.py b/octodns/provider/route53.py index 0600511..e8f7dca 100644 --- a/octodns/provider/route53.py +++ b/octodns/provider/route53.py @@ -233,8 +233,8 @@ class Route53Provider(BaseProvider): # health check config. HEALTH_CHECK_VERSION = '0000' - def __init__(self, id, access_key_id, secret_access_key, max_changes=1000, - client_max_attempts=None, *args, **kwargs): + def __init__(self, id, access_key_id, secret_access_key, region=None, + max_changes=1000, client_max_attempts=None, *args, **kwargs): self.max_changes = max_changes self.log = logging.getLogger('Route53Provider[{}]'.format(id)) self.log.debug('__init__: id=%s, access_key_id=%s, ' @@ -247,9 +247,14 @@ class Route53Provider(BaseProvider): client_max_attempts) config = Config(retries={'max_attempts': client_max_attempts}) + if region is not None: + self.log.info('__init__: setting region_name to %s', + region) + config = Config(region_name = region) + self._conn = client('route53', aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key, - config=config) + region_name=region, config=config) self._r53_zones = None self._r53_rrsets = {} diff --git a/tests/test_octodns_provider_route53.py b/tests/test_octodns_provider_route53.py index 1cd4548..68b98a7 100644 --- a/tests/test_octodns_provider_route53.py +++ b/tests/test_octodns_provider_route53.py @@ -1119,7 +1119,8 @@ class TestRoute53Provider(TestCase): def _get_test_plan(self, max_changes): - provider = Route53Provider('test', 'abc', '123', max_changes) + provider = Route53Provider('test', 'abc', '123', 'us-east-1', + max_changes) # Use the stubber stubber = Stubber(provider._conn)