Book Image

VMware NSX Cookbook

By : Bayu Wibowo, Tony Sangha
Book Image

VMware NSX Cookbook

By: Bayu Wibowo, Tony Sangha

Overview of this book

This book begins with a brief introduction to VMware's NSX for vSphere Network Virtualization solutions and how to deploy and configure NSX components and features such as Logical Switching, Logical Routing, layer 2 bridging and the Edge Services Gateway. Moving on to security, the book shows you how to enable micro-segmentation through NSX Distributed Firewall and Identity Firewall and how to do service insertion via network and guest introspection. After covering all the feature configurations for single-site deployment, the focus then shifts to multi-site setups using Cross-vCenter NSX. Next, the book covers management, backing up and restoring, upgrading, and monitoring using built-in NSX features such as Flow Monitoring, Traceflow, Application Rule Manager, and Endpoint Monitoring. Towards the end, you will explore how to leverage VMware NSX REST API using various tools from Python to VMware vRealize Orchestrator.
Table of Contents (19 chapters)
Title Page
Packt Upsell
Foreword
Contributors
Preface
Index

Using the REST API with PowerShell


PowerShell has a built-in Invoke-WebRequest cmdlet that can be used to send HTTP and HTTPS requests to a web service. In this recipe, we will demonstrate how to leverage the NSX REST API through PowerShell using the Invoke-WebRequest cmdlet.

Getting ready

You should have a workstation with Windows PowerShell or PowerShell Core installed.

How to do it...

This recipe is divided into two parts of REST API requests using PowerShell: retrieving a configuration or information using HTTP GET, and creating a logical switch using HTTP POST.

Requesting the HTTP GET REST API via PowerShell

In this example, we will perform an HTTP GET REST API request via PowerShell:

  1. Open a text editor, input the following code, and save it into a .ps1 extension, for example NSX-PowerShellGET.ps1:
# NSX Variables 
$NSXUsername = "admin" 
$NSXPassword = "VMware1!" 
$NSXManager = "https://nsxmgr-01a.corp.local" 
$NSXURI = "/api/2.0/services/usermgmt/user/admin" 
 
# NSX Authorization Header...