There is a lot of talk going around how IT Pros can more efficiently operate and consume Cloud Based Services…AWS has lead the way in offering a rich set of APIs for it’s clients to use to help build out cloud applications and infrastructure and there are a ton of programming libraries and platforms that have seen the rise of the DevOps movement…And while AWS has lead the way, other Public Clouds such as Azure (with PowerShell Packs) and Google have also built self service capability through APIs.

With the release of VMware’s vCloud Air Services over the last 18 months there has been an increased number of CLIs and Libraries for interfacing with the vCloud Director based services including vCloud Air and VMware’s vCloud Air Network Partners who use vCloud Director as their Cloud Abstraction Layer.

The reality is that vCloud Director has always has a rich set of APIs (check out the API Online Doco Here) but during the early days of the VMware vCloud Powered Program only a small number of Services Providers truly exploited the power of the vCD APIs…this was part of the reason why VMware felt the ecosystem was not growing as it had wanted and part of the reason why they went down the path of building their own services.

Interested in being able to offer my partners and clients an alternative to Web Based creation and management of vCloud Director I stumbled across a project that Paco Gomez has been developing called VCA-CLI which is based on pyvcloud which is a Python SDK for vCloud Director and Air. Being Python based you have the option of running it pretty much on any OS you like…the steps below show you how to install and configure VCA on a Windows 8/10 OS and how to connect up to a vCloud Director based Cloud Org.

1. Download and Install Python and PowerCLI for Windows

VCA-CLI is built on the Python SDK for vCloud Director and requires Python to be installed and configured on the Windows OS. While you don’t need PowerCLI to run the PIP and VCA-CLI commands I like the option of being able to connect to vCloud Director or vCloud Air within the same window using the Connect-CI command.

Head to the Python site and download the installer…I discovered an error while trying to install VCA-CLI with Python 3.4.3 and the 3.5.x builds so you want to go with a 2.7.x version.

https://www.python.org/ftp/python/2.7.10/python-2.7.10.amd64.msi

vca-cli-python_win_21

Choose the default directory and make sure in the next step you select the option to Add python.exe to Path to make things easier to execute pip and vca-cli.

vca-cli-python_win_11

As you can see PIP has also been chosen for installation so now we are ready to install VCA-CLI. Assuming you have installed PowerCLI (latest version 6.0 R1) fire up a PowerCLI session and confirm that pip is available.

vca-cli-python_win_3

2. Install VCA-CLI

I found that installing VCA-CLI works more consistantly and without issues from the Command Prompt, so fire up an Administrator CMD Session and run

pip install vcal-cli

vca-cli-python_win_4

PIP will go off and download all the required components and configure VCA-CLI.

Open a PowerCLI window and check to ensure that VCA-CLI has been installed as shown below.

vca-cli-python_win_5

 3. Use VCA-CLI to Connect to vCloud Director Organization

In the example below I am connecting to the vCloud Org that’s hosted in one of ZettaGrid’s Availability Zones that contains the Virtual Datacenter that hosts this Blog Site.

In the second example below I am connecting up to my vCloud Air On Demand Service.

All ready for action…I’ll be looking to post some more articles around VCA-CLI and how to interact with the commands to deploy VMs and Applications on ZettaGrid…which can then be taken and applied to any vCloud Director based Cloud…such is the power of the vCloud Air Network!

References:

https://github.com/vmware/vca-cli
https://github.com/vmware/pyvcloud
http://vca-cli.readthedocs.org/en/stable/
https://pypi.python.org/pypi/pyvcloud/12c1