Example #1
0
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.')
Example #2
0
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
Example #3
0
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
Example #4
0
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