def api_ip_address_put(ip_domain_id,ip): data = json.loads(request.data) result = db_change_IPv4Address(ip=ip, ip_domain_id=ip_domain_id, data=data) if type(result) is str: return response('error',result) else: return response('success', 'IP Address entry ' + long2ip(ip) + ' succesfully updated.')
def db_query_IPv4Network(ip_domain_id , network_id): entrylist = dict() entry = IPv4Network.query.filter_by(ip_domain_id = ip_domain_id, id=network_id).first() for value in vars(entry): if value != '_sa_instance_state': entrylist[value] = vars(entry)[value] entrylist['ip_string'] = long2ip(entrylist['ip']) + "/" + str(entrylist['mask']) return entrylist
def db_query_IPv4Address(ip_domain_id, ip, count): """ Queries a list of ip addresses in a specified ip_domain, starting with ip (int value), and all addresses upto ip+count""" entries = list() entrylist = dict() result = IPv4Address.query.filter(((IPv4Address.ip >= ip) & (IPv4Address.ip <= ip+count)) & IPv4Address.ip_domain_id == ip_domain_id).all() for entry in result: for value in vars(entry): if value != '_sa_instance_state': entrylist[value] = vars(entry)[value] entries.append(entrylist) entrylist = dict() iplist = list() for i in range (0, len(entries)): entries[i]['ip_string'] = long2ip(entries[i]['ip']) iplist.append(entries[i]['ip']) for i in range (0, count): if ip+i not in iplist: entries.append({ "id": -1 ,"ip" : ip + i , "ip_string" : long2ip(ip + i) , "ip_domain_id": ip_domain_id, "fqdn":"", "description":"", "reserved": False }) return entries
def db_query_all_IPv4Network(ip_domain_id): entries = list() entrylist = dict() result = IPv4Network.query.order_by(IPv4Network.ip.asc(), IPv4Network.mask.asc() ) index = 0 for entry in result: entrylist['index'] = index index += 1 for value in vars(entry): if value != '_sa_instance_state': entrylist[value] = vars(entry)[value] entrylist['parent'] = 0 entries.append(entrylist) entrylist = dict() entries = add_parents(entries) for i in range (0, len(entries)): entries[i]['ip'] = long2ip(entries[i]['ip']) + "/" + str(entries[i]['mask']) return entries