You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2017/02/21 16:31:28 UTC

libcloud git commit: Add Security Token Service support for Route 53 Closes #980

Repository: libcloud
Updated Branches:
  refs/heads/trunk b439b161c -> 92b8a0700


Add Security Token Service support for Route 53
Closes #980


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/92b8a070
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/92b8a070
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/92b8a070

Branch: refs/heads/trunk
Commit: 92b8a07006a05c9b6fb88921c6d105a66d8f349b
Parents: b439b16
Author: Vlad Glagolev <sc...@vaygr.net>
Authored: Thu Jan 26 18:02:03 2017 -0500
Committer: Anthony Shaw <an...@apache.org>
Committed: Tue Feb 21 17:31:15 2017 +0100

----------------------------------------------------------------------
 libcloud/dns/drivers/route53.py | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/92b8a070/libcloud/dns/drivers/route53.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/drivers/route53.py b/libcloud/dns/drivers/route53.py
index 040cdbc..0cb8707 100644
--- a/libcloud/dns/drivers/route53.py
+++ b/libcloud/dns/drivers/route53.py
@@ -38,7 +38,7 @@ from libcloud.dns.types import Provider, RecordType
 from libcloud.dns.types import ZoneDoesNotExistError, RecordDoesNotExistError
 from libcloud.dns.base import DNSDriver, Zone, Record
 from libcloud.common.types import LibcloudError
-from libcloud.common.aws import AWSGenericResponse
+from libcloud.common.aws import AWSGenericResponse, AWSTokenConnection
 from libcloud.common.base import ConnectionUserAndKey
 
 
@@ -67,7 +67,7 @@ class Route53DNSResponse(AWSGenericResponse):
     }
 
 
-class Route53Connection(ConnectionUserAndKey):
+class BaseRoute53Connection(ConnectionUserAndKey):
     host = API_HOST
     responseCls = Route53DNSResponse
 
@@ -96,6 +96,10 @@ class Route53Connection(ConnectionUserAndKey):
         return b64_hmac.decode('utf-8')
 
 
+class Route53Connection(AWSTokenConnection, BaseRoute53Connection):
+    pass
+
+
 class Route53DNSDriver(DNSDriver):
     type = Provider.ROUTE53
     name = 'Route53 DNS'
@@ -115,6 +119,10 @@ class Route53DNSDriver(DNSDriver):
         RecordType.TXT: 'TXT',
     }
 
+    def __init__(self, *args, **kwargs):
+        self.token = kwargs.pop('token', None)
+        super(Route53DNSDriver, self).__init__(*args, **kwargs)
+
     def iterate_zones(self):
         return self._get_more('zones')
 
@@ -546,3 +554,8 @@ class Route53DNSDriver(DNSDriver):
             return items, last_key, exhausted
         else:
             return [], None, True
+
+    def _ex_connection_class_kwargs(self):
+        kwargs = super(Route53DNSDriver, self)._ex_connection_class_kwargs()
+        kwargs['token'] = self.token
+        return kwargs