|
|
|
@ -396,7 +396,6 @@ class AkamaiProvider(BaseProvider): |
|
|
|
rdata = params_for(values) |
|
|
|
|
|
|
|
zone = new.zone.name[:-1] |
|
|
|
|
|
|
|
name = self._set_full_name(new.name, zone) |
|
|
|
|
|
|
|
content = { |
|
|
|
@ -434,7 +433,8 @@ class AkamaiProvider(BaseProvider): |
|
|
|
record_type = new._type |
|
|
|
|
|
|
|
params_for = getattr(self, '_params_for_{}'.format(record_type)) |
|
|
|
rdata = params_for(new.data) |
|
|
|
values = self._get_values(new.data) |
|
|
|
rdata = params_for(values) |
|
|
|
|
|
|
|
zone = new.zone.name[:-1] |
|
|
|
name = self._set_full_name(new.name, zone) |
|
|
|
@ -446,34 +446,58 @@ class AkamaiProvider(BaseProvider): |
|
|
|
"rdata" : rdata |
|
|
|
} |
|
|
|
|
|
|
|
self._dns_client.record_create(zone, name, record_type, content) |
|
|
|
self._dns_client.record_replace(zone, name, record_type, content) |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
def _params_for_multiple(self, values): |
|
|
|
|
|
|
|
rdata = [r for r in values] |
|
|
|
|
|
|
|
return rdata |
|
|
|
return [r for r in values] |
|
|
|
|
|
|
|
def _params_for_single(self, values): |
|
|
|
return values[0] |
|
|
|
|
|
|
|
_params_for_A = _params_for_multiple |
|
|
|
_params_for_AAAA = _params_for_multiple |
|
|
|
_params_for_NS = _params_for_multiple |
|
|
|
_params_for_SPF = _params_for_multiple |
|
|
|
|
|
|
|
def _params_for_CNAME(self, values): |
|
|
|
pass |
|
|
|
|
|
|
|
def _params_for_MX(self, values): |
|
|
|
pass |
|
|
|
_params_for_CNAME = _params_for_single |
|
|
|
_params_for_PTR = _params_for_single |
|
|
|
|
|
|
|
|
|
|
|
def _params_for_MX(self, values): |
|
|
|
rdata = [] |
|
|
|
|
|
|
|
for r in values: |
|
|
|
preference = r.preference |
|
|
|
exchange = r.exchange |
|
|
|
|
|
|
|
record = '{} {}'.format(preference, exchange) |
|
|
|
|
|
|
|
rdata.append(record) |
|
|
|
|
|
|
|
return rdata |
|
|
|
|
|
|
|
def _params_for_NAPTR(self, values): |
|
|
|
pass |
|
|
|
rdata = [] |
|
|
|
|
|
|
|
for r in values: |
|
|
|
order = r.order |
|
|
|
preference = r.preference |
|
|
|
flags = "\"" + r.flags + "\"" |
|
|
|
service = "\"" + r.service + "\"" |
|
|
|
regexp = "\"" + r.regexp + "\"" |
|
|
|
repl = r.replacement |
|
|
|
|
|
|
|
record = '{} {} {} {} {}'.format(order, preference, flags, service, |
|
|
|
regexp, repl) |
|
|
|
# record = ' '.join([order, preference, flags, service, regexp, repl]) |
|
|
|
rdata.append(record) |
|
|
|
|
|
|
|
return rdata |
|
|
|
|
|
|
|
def _params_for_PTR(self, values): |
|
|
|
pass |
|
|
|
|
|
|
|
def _params_for_SRV(self, values): |
|
|
|
pass |
|
|
|
@ -485,6 +509,7 @@ class AkamaiProvider(BaseProvider): |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _build_zone_config(self, zone, _type=None, comment=None, masters=[]): |
|
|
|
|
|
|
|
if _type is None: |
|
|
|
@ -545,6 +570,9 @@ class AkamaiProvider(BaseProvider): |
|
|
|
return name |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _test(self, zone) : |
|
|
|
|
|
|
|
zone_name = zone.name[:len(zone.name)-1] |
|
|
|
|