My notes and ramblings, normally about automation

PowerCLI - Finding the NSX Version for my VMware Cloud on AWS SDDC

· Read in about 3 min · (525 Words)
Python VMware AWS

VMware Cloud on AWS is making a switch to the underlying networking and security platform for the service. This move is being done in order to provide access to services such as distributed firewall, security groups, route-based VPN connections, and more. In order to accomplish this move, SDDCs will be transitioned from NSX-V to NSX-T.

More information about this update is available in the following blog post: VMware Cloud on AWS: Advanced Networking and Security with NSX-T SDDC

However, the big question which continued to come up during VMworld was: What NSX platform is my SDDC currently using?

Let’s take a look at how we can easily determine this using the VMware Cloud on AWS API!

NSXT Property

There’s a specific property we are looking for, and that’s named ‘nsxt’. This property can be found when retrieving information about an SDDC and is located in the ‘resource_config’ sub-section. The property is of a Boolean type, so it will either contain a value of true or false. A response of true indicates that the SDDC is using NSX-T. A response of false indicates that the SDDC is using NSX-V.

Now, let’s take a look at some of the methods we can use to retrieve this property’s status using the vSphere Automation SDK for Python.

vSphere Automation SDK for Python

Lastly, let’s check this out in one of the vSphere Automation SDKs. In this case, we’ll build off of the last vSphere Automation SDK blog post: Getting Started Using the vSphere Automation SDK for Python with VMware Cloud on AWS In that blog post we made use of tabulate to display a table of SDDC information. We’ll be using the same process there, instead modifying it to show the SDDC name and NSXT property value. We can do this in the Python interactive shell with the following code:

import requests
from tabulate import tabulate
from vmware.vapi.vmc.client import create_vmc_client

# Establish our refresh token variable
refreshtoken = ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx’

# Connect to the VMC API 
vmc_client = create_vmc_client(refreshtoken)

# Obtain Org information and store the ID in a variable
org = vmc_client.Orgs.list()
orgid = org[0].id

# Obtain SDDC information and store in a variable
sddcs =vmc_client.orgs.Sddcs.list(orgid)

# Create our table and loop through the SDDC list, adding the name and nsxt properties to the table
table =  []
for sddc in sddcs:
    table.append([sddc.name, sddc.resource_config.nsxt])

# Print the formatted output
print(tabulate(table, ['Name', 'NSXT']))

The output should look a bit like the following: Python - Retrieving the NSXT Property

Summary

VMware Cloud on AWS is a service which is continuously evolving and updating in order to provide those consumers with the latest and greatest features. One of the latest examples of which is the transition from NSX-V to NSX-T. This move is being done in order to provide access to services such as distributed firewall, security groups, route-based VPN connections, and more. This blog post covered how we can use the numerous methods available to poll the VMware Cloud on AWS API in order to obtain whether an SDDC is using NSX-V or NSX-T.

More information about this transition is available in the following blog post: VMware Cloud on AWS: Advanced Networking and Security with NSX-T SDDC