Lines 285-290
def add_a_record(name, *adresses):
|
Link Here
|
---|
|
285 |
record.create() |
285 |
record.create() |
286 |
|
286 |
|
287 |
|
287 |
|
|
|
288 |
def remove_a_record(name, *adresses): |
289 |
"""Remove DNS IPv4 address records.""" |
290 |
filt = univention.admin.filter.expression('name', name) |
291 |
records = host_record.lookup(co, lo, filt, scope='domain', base=position.getDomain(), superordinate=zone, unique=True) |
292 |
if records: |
293 |
record = records[0] |
294 |
else: |
295 |
print("No record found", file=sys.stderr) |
296 |
return |
297 |
|
298 |
tmp = record['a'] |
299 |
for addr in adresses: |
300 |
if addr in tmp: |
301 |
tmp.remove(addr) |
302 |
record['a'] = tmp |
303 |
|
304 |
if record['a']: |
305 |
record.modify() |
306 |
else: |
307 |
record.remove() |
308 |
|
309 |
|
288 |
def add_cname_record(name, cname): |
310 |
def add_cname_record(name, cname): |
289 |
"""Add DNS canonical name record.""" |
311 |
"""Add DNS canonical name record.""" |
290 |
filt = univention.admin.filter.expression('name', name) |
312 |
filt = univention.admin.filter.expression('name', name) |
|
440 |
remove_srv_record(*args) |
462 |
remove_srv_record(*args) |
441 |
elif typ == 'ns': |
463 |
elif typ == 'ns': |
442 |
remove_ns_record(*args) |
464 |
remove_ns_record(*args) |
|
|
465 |
elif typ == 'a': |
466 |
remove_a_record(*args) |
443 |
else: |
467 |
else: |
444 |
parser.error('Unknown type "%s"' % (typ,)) |
468 |
parser.error('Unknown type "%s"' % (typ,)) |
445 |
except univention.admin.uexceptions.objectExists as ex: |
469 |
except univention.admin.uexceptions.objectExists as ex: |