def getSubnetAndZoneFreeIp(subnet, zone, current=None): ret = "" dhcp = Dhcp() dns = Dns() ip = dhcp.getSubnetFreeIp(subnet, current) while ip: if not dns.ipExists(zone, ip): ret = ip break ip = dhcp.getSubnetFreeIp(subnet, ip) return ret
def getSubnetAndZoneFreeIp(subnet, zone, current = None): ret = "" dhcp = Dhcp() dns = Dns() ip = dhcp.getSubnetFreeIp(subnet, current) while ip: if not dns.ipExists(zone, ip): ret = ip break ip = dhcp.getSubnetFreeIp(subnet, ip) return ret
def addZone(zonename, network=None, netmask=None, reverse=False, description=None, nameserver=None, nameserverip=None): Dns().addZone(zonename, network, netmask, reverse, description, nameserver, nameserverip)
def addZoneWithSubnet(zonename, network, netmask, reverse=False, description=None, nameserver=None, nameserverip=None): Dns().addZone(zonename, network, netmask, reverse, description, nameserver, nameserverip) d = Dhcp() d.addSubnet(network, netmask, zonename) d.setSubnetOption(network, "domain-name", '"' + zonename + '"') if nameserverip: d.setSubnetOption(network, "domain-name-servers", nameserverip)
def getZoneRecordById(zone, id): return Dns().getZoneRecordById(zone, id)
def getMXRecords(zone): return Dns().getMXRecords(zone)
def delCNAMEs(zone, hostname): Dns().delCNAMEs(zone, hostname)
def setHostAliases(zone, host, aliases): return Dns().setHostAliases(zone, host, aliases)
def resolve(zone, hostname): return Dns().resolve(zone, hostname)
def getResourceRecord(zone, rr): return Dns().getResourceRecord(zone, rr)
def delRecord(zone, hostname): Dns().delRecord(zone, hostname)
def hostExists(zone, hostname): return Dns().hostExists(zone, hostname)
def delRecordById(zone, id): return Dns().delRecordById(zone, id)
def addRecordA(zone, hostname, ip): return Dns().addRecordA(zone, hostname, ip)
def addRecord(zone, type, hostname, value): return Dns().addRecord(zone, type, hostname, value)
def hasRecord(zone, type, hostname): return Dns().hasRecord(zone, type, hostname)
def modifyRecordById(zone, id, hostname, value): return Dns().modifyRecordById(zone, id, hostname, value)
def getSOAARecord(zone): return Dns().getSOAARecord(zone)
def modifyRecord(zone, hostname, ip): Dns().modifyRecord(zone, hostname, ip)
def setZoneDescription(zone, description): Dns().setZoneDescription(zone, description)
def setSOANSRecord(zone, nameserver): Dns().setSOANSRecord(zone, nameserver)
def ipExists(zone, ip): return Dns().ipExists(zone, ip)
def setSOAARecord(zone, ip): Dns().setSOAARecord(zone, ip)
def getZoneFreeIp(zone, startAt=None): return Dns().getZoneFreeIp(zone, startAt)
def getZoneData(zone, filt): return Dns().getZoneData(zone, filt)
def getCNAMEs(zone, hostname): return Dns().getCNAMEs(zone, hostname)
def setMXRecords(zone, mxservers): Dns().setMXRecords(zone, mxservers)
def addRecordCNAME(zone, alias, cname, dnsClass="IN"): Dns().addRecordCNAME(zone, alias, cname, dnsClass)
def getNSRecords(zone): return Dns().getNSRecords(zone)
def setNSRecords(zone, nameservers): Dns().setNSRecords(zone, nameservers)
def getZoneRecords(zone, filt): return Dns().getZoneRecords(zone, filt)