router name/keyword in IP description sets router address for a DHCP range

Change-Id: I4a2d86a3cf02bb1e545dd567408001a1477ebcd3
diff --git a/scripts/netbox_edgeconfig.py b/scripts/netbox_edgeconfig.py
index 3f30db2..a9b2172 100644
--- a/scripts/netbox_edgeconfig.py
+++ b/scripts/netbox_edgeconfig.py
@@ -228,6 +228,11 @@
             subnet["range"] = value["dhcp_range"]
             continue
 
+        # handle a router reservation
+        if name == "router":
+            subnet["routers"] = value["ip4"]
+            continue
+
         # has a MAC address, and it's not null
         if "macaddr" in value and value["macaddr"]:
 
@@ -388,8 +393,24 @@
             devs["prefix_dhcp"] = {"dhcp_range": ip["address"]}
             continue
 
+        # if it's a reserved IP
+        if ip["status"]["value"] == "reserved":
+            res = {}
+
+            res["type"] = "reserved"
+            res["description"] = ip["description"]
+            res["ip4"] = str(netaddr.IPNetwork(ip["address"]).ip)
+            res["dns_name"] = ip["dns_name"] if "dns_name" in ip else "None"
+            res["services"] = {}
+
+            resname = res["description"].lower().split(" ")[0]
+
+            devs[resname] = res
+            continue
+
         dev = {}
 
+        dev["type"] = "device"
         dev["ip4"] = str(netaddr.IPNetwork(ip["address"]).ip)
         dev["macaddr"] = get_interface_mac_addr(ip["assigned_object"]["id"])
 
@@ -503,7 +524,7 @@
             "dns_rev_zones": dns_rev_zones,
             "dhcpd_subnets": dhcpd_subnets,
             "dhcpd_interfaces": dhcpd_interfaces,
-            # "devs_per_prefix": devs_per_prefix,
+            # "devs_per_prefix": devs_per_prefix,  # useful when debugging
         }
     )