{"id":6066,"date":"2021-03-03T15:48:41","date_gmt":"2021-03-03T23:48:41","guid":{"rendered":"https:\/\/blogs.infoblox.com\/?p=6066"},"modified":"2021-03-03T15:48:41","modified_gmt":"2021-03-03T23:48:41","slug":"use-ipam-to-control-netmri-discovery-ranges","status":"publish","type":"post","link":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/","title":{"rendered":"Use IPAM to Control NetMRI Discovery Ranges"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The following is going to walk you through how to setup IPAM and NetMRI together to solve this issue. We will define a new Extensible Attribute (EA) that will control if a network has to be added to NetMRI for discovery. Then we will deploy a script on NetMRI that will check NIOS for newly created networks marked for discovery. Finally we will define a recurring job on NetMRI so that every hour the script will check if any new networks need to be added to the discovery settings.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Creating and Using the Extensible Attribute<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Log in to Infoblox IPAM, click on Administration -&gt; Extensible Attributes -&gt; the \u201c+\u201d to add a new EA.\u00a0 We will name it \u201cNetMRI\u201d and set the type to \u201cList\u201d, add the Values \u201cYes, No, Done\u201d then click \u201cSave &amp; Close\u201d<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Example:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6078\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-1.png\" alt=\"\" width=\"1526\" height=\"1182\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-1.png 1526w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-1-300x232.png 300w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-1-1024x793.png 1024w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-1-768x595.png 768w\" sizes=\"auto, (max-width: 1526px) 100vw, 1526px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6079\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-2.png\" alt=\"\" width=\"1542\" height=\"1212\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-2.png 1542w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-2-300x236.png 300w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-2-1024x805.png 1024w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-2-768x604.png 768w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-2-1536x1207.png 1536w\" sizes=\"auto, (max-width: 1542px) 100vw, 1542px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Now we create the network in IPAM under Data Management, IPAM, Click the \u201c+\u201d button.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At the end of the wizard you will be prompted which Extensible Attributes you want to assign to this network. Add the \u201cNetMRI\u201d EA and set the value to \u201cYes\u201d.\u00a0 Later our automation script running on the NetMRI appliance will be look for all networks were the EA \u201cNetMRI\u201d equals \u201cYes\u201d<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6080\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-3-1.png\" alt=\"\" width=\"512\" height=\"211\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-3-1.png 512w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-3-1-300x124.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-weight: 400;\">NetMRI Script to add the network<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">We are going to use a Python script in NetMRI to make an WAPI call to NIOS, it will look at IPAM data to find the relevant networks that need to be added.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The first API call is using the \u201cGET\u201d method and WAPI endpoint \/network to find the network with the value \u201cYes\u201d<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The 2nd call will add these networks to NetMRI discovery ranges using the DiscoverySettings broker.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The 3rd call uses \u201cPUT\u201d to update the NetMRI EA on the IPAM side to change the value from \u201cYes\u201d to \u201cDone\u201d<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here is the script:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\"># BEGIN-SCRIPT-BLOCK<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">#<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># Script-Login:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># \u00a0 \u00a0 false<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># Script-Filter:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># \u00a0 \u00a0 true<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">#<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># Script-Variables:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># \u00a0 \u00a0 $gmuser string &#8216;Grid Master Username&#8217;<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># \u00a0 \u00a0 $gmpassword password &#8216;Grid Master Password&#8217;<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># \u00a0 \u00a0 $gmipaddress string &#8216;192.168.1.2&#8217;<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">#<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># END-SCRIPT-BLOCK<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">from<\/span><span style=\"font-weight: 400;\"> infoblox_netmri.easy <\/span><span style=\"font-weight: 400;\">import<\/span><span style=\"font-weight: 400;\"> NetMRIEasy<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">import<\/span><span style=\"font-weight: 400;\"> requests, json<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">requests.packages.urllib3.disable_warnings()<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># This values will be provided by NetMRI before execution<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">defaults = {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8216;api_url&#8217;<\/span><span style=\"font-weight: 400;\">: api_url,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8216;http_username&#8217;<\/span><span style=\"font-weight: 400;\">: http_username,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8216;http_password&#8217;<\/span><span style=\"font-weight: 400;\">: http_password,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8216;job_id&#8217;<\/span><span style=\"font-weight: 400;\">: job_id,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8216;device_id&#8217;<\/span><span style=\"font-weight: 400;\">: device_id,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8216;batch_id&#8217;<\/span><span style=\"font-weight: 400;\">: batch_id<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">}<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># Create NetMRI context manager. It will close session after execution<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">myeasy = NetMRIEasy(**defaults)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">headers = {<\/span><span style=\"font-weight: 400;\">&#8216;Content-type&#8217;<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400;\">&#8216;application\/json&#8217;<\/span><span style=\"font-weight: 400;\">}<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># We are going to look for any Network Objects with an EA of NetMRI &#8220;Add&#8221;<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"># <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">querystring = {<\/span><span style=\"font-weight: 400;\">&#8220;_return_fields+&#8221;<\/span><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\">&#8220;extattrs&#8221;<\/span><span style=\"font-weight: 400;\">,<\/span><span style=\"font-weight: 400;\">&#8220;*NetMRI:&#8221;<\/span><span style=\"font-weight: 400;\">:<\/span><span style=\"font-weight: 400;\">&#8220;Yes&#8221;<\/span><span style=\"font-weight: 400;\">}<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">url = <\/span><span style=\"font-weight: 400;\">&#8220;https:\/\/{}\/wapi\/v2.7\/network&#8221;<\/span><span style=\"font-weight: 400;\">.format(gmipaddress)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">r = requests.request(<\/span><span style=\"font-weight: 400;\">&#8220;GET&#8221;<\/span><span style=\"font-weight: 400;\">, url, verify=<\/span><span style=\"font-weight: 400;\">False<\/span><span style=\"font-weight: 400;\">, headers=headers, params=querystring, auth=(gmuser, gmpassword))<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">broker = myeasy.broker(<\/span><span style=\"font-weight: 400;\">&#8216;DiscoverySetting&#8217;<\/span><span style=\"font-weight: 400;\">)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">data = json.loads(r.text)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">for<\/span><span style=\"font-weight: 400;\"> entry <\/span><span style=\"font-weight: 400;\">in<\/span><span style=\"font-weight: 400;\"> data:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 print(entry[<\/span><span style=\"font-weight: 400;\">&#8216;network&#8217;<\/span><span style=\"font-weight: 400;\">])<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 ip = entry[<\/span><span style=\"font-weight: 400;\">&#8216;network&#8217;<\/span><span style=\"font-weight: 400;\">]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 ref = entry[<\/span><span style=\"font-weight: 400;\">&#8216;_ref&#8217;<\/span><span style=\"font-weight: 400;\">]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 print(ref)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 ip = ip.rstrip(<\/span><span style=\"font-weight: 400;\">&#8216;\\r\\n&#8217;<\/span><span style=\"font-weight: 400;\">)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 broker = myeasy.broker(<\/span><span style=\"font-weight: 400;\">&#8216;DiscoverySetting&#8217;<\/span><span style=\"font-weight: 400;\">)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 add_ip_to_ds = {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8220;range_value&#8221;<\/span><span style=\"font-weight: 400;\">: ip,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8220;range_type&#8221;<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400;\">&#8216;CIDR&#8217;<\/span><span style=\"font-weight: 400;\">,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8220;discovery_status&#8221;<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400;\">&#8216;INCLUDE&#8217;<\/span><span style=\"font-weight: 400;\">,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">&#8220;virtual_network_id&#8221;<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400;\">&#8216;1&#8217;<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 broker.create(**add_ip_to_ds)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 update_url = <\/span><span style=\"font-weight: 400;\">&#8220;https:\/\/{}\/wapi\/v2.7\/&#8221;<\/span><span style=\"font-weight: 400;\">.format(gmipaddress)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 url2 = update_url + ref<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 payload={<\/span><span style=\"font-weight: 400;\">&#8216;extattrs+&#8217;<\/span><span style=\"font-weight: 400;\">: {<\/span><span style=\"font-weight: 400;\">&#8216;NetMRI&#8217;<\/span><span style=\"font-weight: 400;\">: {<\/span><span style=\"font-weight: 400;\">&#8216;value&#8217;<\/span><span style=\"font-weight: 400;\">: <\/span><span style=\"font-weight: 400;\">Done<\/span><span style=\"font-weight: 400;\">}}}<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 update = requests.request(<\/span><span style=\"font-weight: 400;\">&#8220;PUT&#8221;<\/span><span style=\"font-weight: 400;\">, url2, verify=<\/span><span style=\"font-weight: 400;\">False<\/span><span style=\"font-weight: 400;\">, headers=headers, json=payload, auth=(gmuser, gmpassword))<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">\u00a0 \u00a0 print(update.content)<\/span><span style=\"font-weight: 400;\"><\/p>\n<p><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6081\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-4.png\" alt=\"\" width=\"1600\" height=\"425\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-4.png 1600w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-4-300x80.png 300w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-4-1024x272.png 1024w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-4-768x204.png 768w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-4-1536x408.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<h3><span style=\"font-weight: 400;\">Results<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Now let\u2019s run the script and see what happens.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here is in NetMRI -&gt; Settings -&gt; Discovery Settings -&gt; Ranges<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6082\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-5.png\" alt=\"\" width=\"512\" height=\"141\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-5.png 512w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-5-300x83.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">As you can see the network from NIOS was added<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now let\u2019s check IPAM for the network EA, to see if it was updated<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6083\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-6.png\" alt=\"\" width=\"1600\" height=\"1118\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-6.png 1600w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-6-300x210.png 300w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-6-1024x716.png 1024w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-6-768x537.png 768w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-6-1536x1073.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<h2><\/h2>\n<h3><span style=\"font-weight: 400;\">Let\u2019s AUTOMATE it<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">In order to keep track of networks as they are added to IPAM we are going to add it to NetMRI as a scheduled job to run once an hour.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Config Management \u2192 Job Management \u2192 Scheduled Jobs \u2192 <\/span><b>+<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Choose the Script on the right side(mine is called \u201c1 &#8211; NIOS Sync 2\u201d), give it a name and Approved<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6084\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-7.png\" alt=\"\" width=\"1600\" height=\"1062\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-7.png 1600w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-7-300x199.png 300w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-7-1024x680.png 1024w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-7-768x510.png 768w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-7-1536x1020.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Now we need to add the User account, Password and IP\/DNS name.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6085\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-8.png\" alt=\"\" width=\"512\" height=\"340\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-8.png 512w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-8-300x199.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Now we set it to run every hour on the hour<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6086\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-9.png\" alt=\"\" width=\"1600\" height=\"1071\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-9.png 1600w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-9-300x201.png 300w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-9-1024x685.png 1024w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-9-768x514.png 768w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-9-1536x1028.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">You can find the scheduled tasks in the NetMRI UI under Config Management, Job Management, Scheduled Jobs.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6087\" src=\"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/Use-IPAM-10.png\" alt=\"\" width=\"1600\" height=\"223\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-10.png 1600w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-10-300x42.png 300w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-10-1024x143.png 1024w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-10-768x107.png 768w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/Use-IPAM-10-1536x214.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<h3><span style=\"font-weight: 400;\">Conclusion<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">It\u2019s easy to get data from NIOS or any other product that accepts API calls and use that data\u00a0 in NetMRI.\u00a0 <\/span>Here&#8217;s a related blog:\u00a0 <a href=\"https:\/\/blogs.infoblox.com\/community\/netmri-scripting-add-networks-to-discovery\/\">Get networks from IPAM and add to NetMRI for Discovery<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered. Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked. The following is going to walk you through how to setup IPAM and NetMRI together to [&hellip;]<\/p>\n","protected":false},"author":260,"featured_media":556,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[3],"tags":[51,145],"class_list":{"0":"post-6066","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-community","8":"tag-ipam","9":"tag-netmri","10":"entry"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Use IPAM to Control NetMRI Discovery Ranges<\/title>\n<meta name=\"description\" content=\"Use IPAM to Control NetMRI Discovery Ranges. Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered.Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked.The following is going to walk you through how to setup IPAM and NetMRI together to solve this issue. We will define a new Extensible Attribute (EA) that will control if a network has to be added to NetMRI for discovery. Then we will deploy a script on NetMRI that will check NIOS for newly created networks marked for discovery. Finally we will define a recurring job on NetMRI so that every hour the script will check if any new networks need to be added to the discovery settings.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use IPAM to Control NetMRI Discovery Ranges\" \/>\n<meta property=\"og:description\" content=\"Use IPAM to Control NetMRI Discovery Ranges. Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered.Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked.The following is going to walk you through how to setup IPAM and NetMRI together to solve this issue. We will define a new Extensible Attribute (EA) that will control if a network has to be added to NetMRI for discovery. Then we will deploy a script on NetMRI that will check NIOS for newly created networks marked for discovery. Finally we will define a recurring job on NetMRI so that every hour the script will check if any new networks need to be added to the discovery settings.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/\" \/>\n<meta property=\"og:site_name\" content=\"Infoblox Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-03T23:48:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/may-19.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"660\" \/>\n\t<meta property=\"og:image:height\" content=\"454\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sif Baksh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sif Baksh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/\"},\"author\":{\"name\":\"Sif Baksh\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/person\\\/d78ba19c60e3345e0b057ecb0f990108\"},\"headline\":\"Use IPAM to Control NetMRI Discovery Ranges\",\"datePublished\":\"2021-03-03T23:48:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/\"},\"wordCount\":759,\"publisher\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/may-19.jpg\",\"keywords\":[\"IPAM\",\"NetMRI\"],\"articleSection\":[\"Community\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/\",\"name\":\"Use IPAM to Control NetMRI Discovery Ranges\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/may-19.jpg\",\"datePublished\":\"2021-03-03T23:48:41+00:00\",\"description\":\"Use IPAM to Control NetMRI Discovery Ranges. Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered.Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked.The following is going to walk you through how to setup IPAM and NetMRI together to solve this issue. We will define a new Extensible Attribute (EA) that will control if a network has to be added to NetMRI for discovery. Then we will deploy a script on NetMRI that will check NIOS for newly created networks marked for discovery. Finally we will define a recurring job on NetMRI so that every hour the script will check if any new networks need to be added to the discovery settings.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/may-19.jpg\",\"contentUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/may-19.jpg\",\"width\":660,\"height\":454},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/use-ipam-to-control-netmri-discovery-ranges\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Community\",\"item\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/category\\\/community\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Use IPAM to Control NetMRI Discovery Ranges\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/\",\"name\":\"infoblox.com\\\/blog\\\/\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#organization\",\"name\":\"Infoblox\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/infoblox-logo-2.svg\",\"contentUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/infoblox-logo-2.svg\",\"width\":137,\"height\":30,\"caption\":\"Infoblox\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/person\\\/d78ba19c60e3345e0b057ecb0f990108\",\"name\":\"Sif Baksh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blogs.infoblox.com\\\/wp-content\\\/uploads\\\/avatar_user_260_1582930725-96x96.jpg\",\"url\":\"https:\\\/\\\/blogs.infoblox.com\\\/wp-content\\\/uploads\\\/avatar_user_260_1582930725-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.infoblox.com\\\/wp-content\\\/uploads\\\/avatar_user_260_1582930725-96x96.jpg\",\"caption\":\"Sif Baksh\"},\"description\":\"Sif is a Principal Sales Engineer at Infoblox where he provides technical expertise regarding Infoblox solutions with a focus on Network Automation and Cybersecurity. He has been with Infoblox for over 7 years, starting in the Professional Services org where he performed NetMRI deployments at many of the largest companies in the world. Outside of work, Sif can be found at the local hackerspace where he volunteers as a leading cybersecurity educator. Online he can be found @sifbaksh running the regex daily channel.\",\"sameAs\":[\"https:\\\/\\\/sifbaksh.com\\\/\"],\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/author\\\/sif-baksh\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Use IPAM to Control NetMRI Discovery Ranges","description":"Use IPAM to Control NetMRI Discovery Ranges. Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered.Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked.The following is going to walk you through how to setup IPAM and NetMRI together to solve this issue. We will define a new Extensible Attribute (EA) that will control if a network has to be added to NetMRI for discovery. Then we will deploy a script on NetMRI that will check NIOS for newly created networks marked for discovery. Finally we will define a recurring job on NetMRI so that every hour the script will check if any new networks need to be added to the discovery settings.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/","og_locale":"en_US","og_type":"article","og_title":"Use IPAM to Control NetMRI Discovery Ranges","og_description":"Use IPAM to Control NetMRI Discovery Ranges. Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered.Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked.The following is going to walk you through how to setup IPAM and NetMRI together to solve this issue. We will define a new Extensible Attribute (EA) that will control if a network has to be added to NetMRI for discovery. Then we will deploy a script on NetMRI that will check NIOS for newly created networks marked for discovery. Finally we will define a recurring job on NetMRI so that every hour the script will check if any new networks need to be added to the discovery settings.","og_url":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/","og_site_name":"Infoblox Blog","article_published_time":"2021-03-03T23:48:41+00:00","og_image":[{"width":660,"height":454,"url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/may-19.jpg","type":"image\/jpeg"}],"author":"Sif Baksh","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sif Baksh","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/#article","isPartOf":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/"},"author":{"name":"Sif Baksh","@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/person\/d78ba19c60e3345e0b057ecb0f990108"},"headline":"Use IPAM to Control NetMRI Discovery Ranges","datePublished":"2021-03-03T23:48:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/"},"wordCount":759,"publisher":{"@id":"https:\/\/www.infoblox.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/#primaryimage"},"thumbnailUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/may-19.jpg","keywords":["IPAM","NetMRI"],"articleSection":["Community"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/","url":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/","name":"Use IPAM to Control NetMRI Discovery Ranges","isPartOf":{"@id":"https:\/\/www.infoblox.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/#primaryimage"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/#primaryimage"},"thumbnailUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/may-19.jpg","datePublished":"2021-03-03T23:48:41+00:00","description":"Use IPAM to Control NetMRI Discovery Ranges. Whenever you add a new network into IPAM you have to manually add it into NetMRI for it to be discovered.Why do we have to do this when NetMRI is an Automation tool?\u00a0 I\u2019m so glad you asked.The following is going to walk you through how to setup IPAM and NetMRI together to solve this issue. We will define a new Extensible Attribute (EA) that will control if a network has to be added to NetMRI for discovery. Then we will deploy a script on NetMRI that will check NIOS for newly created networks marked for discovery. Finally we will define a recurring job on NetMRI so that every hour the script will check if any new networks need to be added to the discovery settings.","breadcrumb":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/#primaryimage","url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/may-19.jpg","contentUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/may-19.jpg","width":660,"height":454},{"@type":"BreadcrumbList","@id":"https:\/\/www.infoblox.com\/blog\/community\/use-ipam-to-control-netmri-discovery-ranges\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.infoblox.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Community","item":"https:\/\/www.infoblox.com\/blog\/category\/community\/"},{"@type":"ListItem","position":3,"name":"Use IPAM to Control NetMRI Discovery Ranges"}]},{"@type":"WebSite","@id":"https:\/\/www.infoblox.com\/blog\/#website","url":"https:\/\/www.infoblox.com\/blog\/","name":"infoblox.com\/blog\/","description":"","publisher":{"@id":"https:\/\/www.infoblox.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.infoblox.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.infoblox.com\/blog\/#organization","name":"Infoblox","url":"https:\/\/www.infoblox.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/infoblox-logo-2.svg","contentUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/infoblox-logo-2.svg","width":137,"height":30,"caption":"Infoblox"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/person\/d78ba19c60e3345e0b057ecb0f990108","name":"Sif Baksh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/avatar_user_260_1582930725-96x96.jpg","url":"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/avatar_user_260_1582930725-96x96.jpg","contentUrl":"https:\/\/blogs.infoblox.com\/wp-content\/uploads\/avatar_user_260_1582930725-96x96.jpg","caption":"Sif Baksh"},"description":"Sif is a Principal Sales Engineer at Infoblox where he provides technical expertise regarding Infoblox solutions with a focus on Network Automation and Cybersecurity. He has been with Infoblox for over 7 years, starting in the Professional Services org where he performed NetMRI deployments at many of the largest companies in the world. Outside of work, Sif can be found at the local hackerspace where he volunteers as a leading cybersecurity educator. Online he can be found @sifbaksh running the regex daily channel.","sameAs":["https:\/\/sifbaksh.com\/"],"url":"https:\/\/www.infoblox.com\/blog\/author\/sif-baksh\/"}]}},"_links":{"self":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/6066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/users\/260"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/comments?post=6066"}],"version-history":[{"count":4,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/6066\/revisions"}],"predecessor-version":[{"id":6090,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/6066\/revisions\/6090"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/media\/556"}],"wp:attachment":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/media?parent=6066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/categories?post=6066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/tags?post=6066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}