1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

ContellixProvider: zone creation and records in one run

This commit is contained in:
Adam Smith
2020-01-18 20:24:15 -08:00
parent d51c3111c1
commit 08af9aaab3
2 changed files with 22 additions and 17 deletions

View File

@@ -88,7 +88,7 @@ class ConstellixClient(object):
if self._domains is None:
zones = []
resp = self._request('GET', '/').json()
resp = self._request('GET', '').json()
zones += resp
self._domains = {'{}.'.format(z['name']): z['id'] for z in zones}
@@ -96,11 +96,16 @@ class ConstellixClient(object):
return self._domains
def domain(self, name):
path = '/{}'.format(self.domains.get(name))
zone_id = self.domains.get(name, False)
if not zone_id:
raise ConstellixClientNotFound()
path = '/{}'.format(zone_id)
return self._request('GET', path).json()
def domain_create(self, name):
self._request('POST', '/', data={'names': [name]})
resp = self._request('POST', '/', data={'names': [name]})
# Add newly created zone to domain cache
self._domains['{}.'.format(name)] = resp.json()[0]['id']
def _absolutize_value(self, value, zone_name):
if value == '':
@@ -112,6 +117,8 @@ class ConstellixClient(object):
def records(self, zone_name):
zone_id = self.domains.get(zone_name, False)
if not zone_id:
raise ConstellixClientNotFound()
path = '/{}/records'.format(zone_id)
resp = self._request('GET', path).json()