mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Support DNSimple sandbox
An optional parameter 'sandbox' can be used to select the base URL for the Sandbox API (see https://developer.dnsimple.com/sandbox ).
This commit is contained in:
@@ -30,13 +30,16 @@ class DnsimpleClientUnauthorized(DnsimpleClientException):
|
||||
|
||||
|
||||
class DnsimpleClient(object):
|
||||
BASE = 'https://api.dnsimple.com/v2/'
|
||||
|
||||
def __init__(self, token, account):
|
||||
def __init__(self, token, account, sandbox):
|
||||
self.account = account
|
||||
sess = Session()
|
||||
sess.headers.update({'Authorization': 'Bearer {}'.format(token)})
|
||||
self._sess = sess
|
||||
if sandbox:
|
||||
self.BASE = 'https://api.sandbox.dnsimple.com/v2/'
|
||||
else:
|
||||
self.BASE = 'https://api.dnsimple.com/v2/'
|
||||
|
||||
def _request(self, method, path, params=None, data=None):
|
||||
url = '{}{}{}'.format(self.BASE, self.account, path)
|
||||
@@ -89,17 +92,19 @@ class DnsimpleProvider(BaseProvider):
|
||||
token: letmein
|
||||
# Your account number (required)
|
||||
account: 42
|
||||
# Use sandbox (optional)
|
||||
sandbox: true
|
||||
'''
|
||||
SUPPORTS_GEO = False
|
||||
SUPPORTS_DYNAMIC = False
|
||||
SUPPORTS = set(('A', 'AAAA', 'ALIAS', 'CAA', 'CNAME', 'MX', 'NAPTR', 'NS',
|
||||
'PTR', 'SPF', 'SRV', 'SSHFP', 'TXT'))
|
||||
|
||||
def __init__(self, id, token, account, *args, **kwargs):
|
||||
def __init__(self, id, token, account, sandbox=False, *args, **kwargs):
|
||||
self.log = logging.getLogger('DnsimpleProvider[{}]'.format(id))
|
||||
self.log.debug('__init__: id=%s, token=***, account=%s', id, account)
|
||||
super(DnsimpleProvider, self).__init__(id, *args, **kwargs)
|
||||
self._client = DnsimpleClient(token, account)
|
||||
self._client = DnsimpleClient(token, account, sandbox)
|
||||
|
||||
self._zone_records = {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user