{"id":2974,"date":"2016-03-28T21:07:28","date_gmt":"2016-03-28T21:07:28","guid":{"rendered":"https:\/\/live-infoblox-blog.pantheonsite.io\/?p=2974"},"modified":"2020-05-06T10:30:03","modified_gmt":"2020-05-06T17:30:03","slug":"lists-making-network-automation-practical-with-dynamic-variables","status":"publish","type":"post","link":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/","title":{"rendered":"\u201cLists\u201d &#8211; Making Network Automation PRACTICAL with Dynamic Variables"},"content":{"rendered":"<p>How do you roll out changes in your network devices? Most customers I talk with say it depends. Some changes are pushed with a script, other, simple, changes are made with a config template, and many more changes are still done by senior network engineers logging on, manually, with SSH CLI sessions, device by device.<\/p>\n<p>I hear several reasons for not automating more. Complexity, multi-vendor idiosyncrasies, no time to invest in a different approach, trust, out dated scripts written by departed team members, etc.<\/p>\n<p>In my opinion, the root cause comes back to the same concept I introduced in my last post: Practicality. In many cases, it\u2019s just not practical to encode (or maintain) automation for even moderately complex provisioning or change tasks. I\u2019ve seen teams automate more as soon as they\u2019ve found ways to make it practical to do. Unfortunately, the network automation industry has stagnated and systems simply never grew beyond a programming platform.<\/p>\n<p>I take pride in how Infoblox has invested to be the exception. We\u2019ve worked with many customers over recent years and found ways to make change automation more practical. Here\u2019s on simple, but powerful example: the \u201cList\u201d as a dynamic input variable.<\/p>\n<p>Without this feature, each change push requires user input. When you initiate the task, you have to input information to execute the change for the specific device(s) you\u2019re targeting. Usually prompted with a form like this to complete:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2977\" src=\"https:\/\/live-infoblox-blog.pantheonsite.io\/wp-content\/uploads\/list-dynamic-input-variable.jpg\" alt=\"List - Dynamic Input Variable\" width=\"237\" height=\"112\" \/><\/p>\n<p>An engineer types info into these fields and pushes the change. Then starts again for different devices, populate the form from scratch again with new values, push, then repeat, and repeat.<\/p>\n<p>I\u2019m sure your engineering team has better things to do. But there are other impacts too. Does it take so long you have to spread the change out over multiple windows? Could anyone make a mistake with a typo or copy\/paste missed character? Are there more complex changes you could automate if you could dynamically look up contextual values, check a black list, or populate arrays rather than simple variables? Of course.<\/p>\n<p>Imagine you\u2019re pushing out a change to devices in 5 different data centers. Using the old way, you\u2019d run the job 5 times, populating the form with different values 5 times. But with a List in NetMRI, you can create, import, or point to another source, a spreadsheet of values keyed off of custom information of your choosing.<\/p>\n<p>In this 5 data center example, when you run the job, NetMRI looks up the values dynamically, rather than prompting the user to input them. As the task is processed against each device (or interface, VLAN, or any other object), the correct information is looked up for each device uniquely. This screenshot shows how NetMRI would automatically use 10.51.1.100 as the IP address for the Primary DNS server when executing a task with a network device in Denver:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2976\" src=\"https:\/\/live-infoblox-blog.pantheonsite.io\/wp-content\/uploads\/data-center-example.jpg\" alt=\"Data Center Example\" width=\"468\" height=\"267\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/data-center-example.jpg 468w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/data-center-example-300x171.jpg 300w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/p>\n<p>This example shows the dynamic lookup concept. These same lists can also be used as black or white lists and also to populate array variables. Lists can be used in change job scripts, templates, custom analysis alerting, and configuration policy rules. Here are a few simple examples:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2975\" src=\"https:\/\/live-infoblox-blog.pantheonsite.io\/wp-content\/uploads\/data-center-dynamic-lookup-concept.jpg\" alt=\"Data Center - Dynamic Lookup Concept\" width=\"405\" height=\"229\" srcset=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/data-center-dynamic-lookup-concept.jpg 405w, https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/data-center-dynamic-lookup-concept-300x170.jpg 300w\" sizes=\"auto, (max-width: 405px) 100vw, 405px\" \/><\/p>\n<p>Please, share examples of how you do, or could, use this feature with a reply or post in our community!<\/p>\n<p>Lou<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How do you roll out changes in your network devices? Most customers I talk with say it depends. Some changes are pushed with a script, other, simple, changes are made with a config template, and many more changes are still done by senior network engineers logging on, manually, with SSH CLI sessions, device by device. [&hellip;]<\/p>\n","protected":false},"author":233,"featured_media":2547,"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":[16,91,31,113,137],"class_list":{"0":"post-2974","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-community","8":"tag-infoblox","9":"tag-nccm","10":"tag-networking","11":"tag-networking-control","12":"tag-policy-rules","13":"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>\u201cLists\u201d - Making Network Automation PRACTICAL with Dynamic Variables<\/title>\n<meta name=\"description\" content=\"How do you roll out changes in your network devices?\" \/>\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\/lists-making-network-automation-practical-with-dynamic-variables\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u201cLists\u201d - Making Network Automation PRACTICAL with Dynamic Variables\" \/>\n<meta property=\"og:description\" content=\"How do you roll out changes in your network devices?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/\" \/>\n<meta property=\"og:site_name\" content=\"Infoblox Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-28T21:07:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-06T17:30:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/aug-24.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=\"Lou Nardo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lou Nardo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 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\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/\"},\"author\":{\"name\":\"Lou Nardo\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#\\\/schema\\\/person\\\/e12caa9fb4a713c486b21daa166cbf50\"},\"headline\":\"\u201cLists\u201d &#8211; Making Network Automation PRACTICAL with Dynamic Variables\",\"datePublished\":\"2016-03-28T21:07:28+00:00\",\"dateModified\":\"2020-05-06T17:30:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/\"},\"wordCount\":558,\"publisher\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/aug-24.jpg\",\"keywords\":[\"Infoblox\",\"NCCM\",\"Networking\",\"Networking Control\",\"Policy Rules\"],\"articleSection\":[\"Community\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/\",\"name\":\"\u201cLists\u201d - Making Network Automation PRACTICAL with Dynamic Variables\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/aug-24.jpg\",\"datePublished\":\"2016-03-28T21:07:28+00:00\",\"dateModified\":\"2020-05-06T17:30:03+00:00\",\"description\":\"How do you roll out changes in your network devices?\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/aug-24.jpg\",\"contentUrl\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/wp-content\\\/uploads\\\/aug-24.jpg\",\"width\":660,\"height\":454,\"caption\":\"Using Return on Investment to Justify Training Investments\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/community\\\/lists-making-network-automation-practical-with-dynamic-variables\\\/#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\":\"\u201cLists\u201d &#8211; Making Network Automation PRACTICAL with Dynamic Variables\"}]},{\"@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\\\/e12caa9fb4a713c486b21daa166cbf50\",\"name\":\"Lou Nardo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c1f998dccd1e88dfd702ad5686e94d4ab2859571f5ccb0cc9e6acb7e5f9c7fac?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c1f998dccd1e88dfd702ad5686e94d4ab2859571f5ccb0cc9e6acb7e5f9c7fac?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c1f998dccd1e88dfd702ad5686e94d4ab2859571f5ccb0cc9e6acb7e5f9c7fac?s=96&d=blank&r=g\",\"caption\":\"Lou Nardo\"},\"url\":\"https:\\\/\\\/www.infoblox.com\\\/blog\\\/author\\\/lou-nardo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u201cLists\u201d - Making Network Automation PRACTICAL with Dynamic Variables","description":"How do you roll out changes in your network devices?","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\/lists-making-network-automation-practical-with-dynamic-variables\/","og_locale":"en_US","og_type":"article","og_title":"\u201cLists\u201d - Making Network Automation PRACTICAL with Dynamic Variables","og_description":"How do you roll out changes in your network devices?","og_url":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/","og_site_name":"Infoblox Blog","article_published_time":"2016-03-28T21:07:28+00:00","article_modified_time":"2020-05-06T17:30:03+00:00","og_image":[{"width":660,"height":454,"url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/aug-24.jpg","type":"image\/jpeg"}],"author":"Lou Nardo","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lou Nardo","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/#article","isPartOf":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/"},"author":{"name":"Lou Nardo","@id":"https:\/\/www.infoblox.com\/blog\/#\/schema\/person\/e12caa9fb4a713c486b21daa166cbf50"},"headline":"\u201cLists\u201d &#8211; Making Network Automation PRACTICAL with Dynamic Variables","datePublished":"2016-03-28T21:07:28+00:00","dateModified":"2020-05-06T17:30:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/"},"wordCount":558,"publisher":{"@id":"https:\/\/www.infoblox.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/#primaryimage"},"thumbnailUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/aug-24.jpg","keywords":["Infoblox","NCCM","Networking","Networking Control","Policy Rules"],"articleSection":["Community"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/","url":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/","name":"\u201cLists\u201d - Making Network Automation PRACTICAL with Dynamic Variables","isPartOf":{"@id":"https:\/\/www.infoblox.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/#primaryimage"},"image":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/#primaryimage"},"thumbnailUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/aug-24.jpg","datePublished":"2016-03-28T21:07:28+00:00","dateModified":"2020-05-06T17:30:03+00:00","description":"How do you roll out changes in your network devices?","breadcrumb":{"@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/#primaryimage","url":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/aug-24.jpg","contentUrl":"https:\/\/www.infoblox.com\/blog\/wp-content\/uploads\/aug-24.jpg","width":660,"height":454,"caption":"Using Return on Investment to Justify Training Investments"},{"@type":"BreadcrumbList","@id":"https:\/\/www.infoblox.com\/blog\/community\/lists-making-network-automation-practical-with-dynamic-variables\/#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":"\u201cLists\u201d &#8211; Making Network Automation PRACTICAL with Dynamic Variables"}]},{"@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\/e12caa9fb4a713c486b21daa166cbf50","name":"Lou Nardo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c1f998dccd1e88dfd702ad5686e94d4ab2859571f5ccb0cc9e6acb7e5f9c7fac?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c1f998dccd1e88dfd702ad5686e94d4ab2859571f5ccb0cc9e6acb7e5f9c7fac?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c1f998dccd1e88dfd702ad5686e94d4ab2859571f5ccb0cc9e6acb7e5f9c7fac?s=96&d=blank&r=g","caption":"Lou Nardo"},"url":"https:\/\/www.infoblox.com\/blog\/author\/lou-nardo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/2974","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\/233"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/comments?post=2974"}],"version-history":[{"count":1,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/2974\/revisions"}],"predecessor-version":[{"id":2978,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/posts\/2974\/revisions\/2978"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/media\/2547"}],"wp:attachment":[{"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/media?parent=2974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/categories?post=2974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infoblox.com\/blog\/wp-json\/wp\/v2\/tags?post=2974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}