VMware has helped transform the data center landscape by introducing virtualization technologies for compute, storage, and networking. By replicating traditional hardware constructs in software, VMware allows for not only efficiency in hardware utilization, improved resiliency, lower costs, but also automation at a completely new level that has never been possible before. Gone are the days of hardware specific APIs, screen/CLI scraping and vendor-specific tool sets that would have to be stitched together to create a complete solution.
VMware NSX provides a RESTful API service via NSX Manager that can be consumed in several ways. The NSX REST API can be consumed directly via a tool/library such as cURL or a REST Client like Postman, via multiple popular programming languages, and via orchestration cloud management tools. Popular programming languages such as Python, PowerShell, Perl, Go, and Java have REST client libraries which can easily be utilized to consume the NSX REST API. This means that elaborate workflows and complete systems/portals can be created to provide custom automation, management, and monitoring capabilities.
Tools such as VMware vRealize Orchestrator (vRO) or configuration frameworks like Ansible can also be used to create advanced workflows for NSX. vRO also provides a HTTP REST API client allowing for NSX REST API to be called directly from the tool; a NSX vRO Plugin is also available. Further, cloud management systems such as vRealize Automation (vRA) and Openstack incorporate and leverage pre-packaged automation solutions. A vRO plugin for vRA is also available allowing for purpose-built custom automation of NSX objects.
Automate the network via programming languages, vRO, and other tools leveraging NSX REST API