Skip to content

Latest commit

 

History

History
58 lines (30 loc) · 2.22 KB

README.md

File metadata and controls

58 lines (30 loc) · 2.22 KB

vrealize-automation

This repository stores tools and and an SDK for VMware's vRealize Automation. Most of these are my first attempts at building something useful in python so expect bugs.

Overview

A basic vRealize automation wrapper API called vralib. I'm sure someone somewhere will want to change this over time and that's fine.

The library has few dependencies; you pretty much just need requests and the python standard library to get started.

  • requirements.txt - Library requirements for the vRA SDK. Should just need requests.

Sample Scripts

In the 'tool-samples' directory you'll find a series of helpful but simples tools that leverage this API to give you an idea of usage.

  • get-catalog.py - Returns a prettytable formatted list of catalog names and IDs. The IDs can be used to request resources
  • get-items.py - A script to pull a list of provisioned items.

Setup

Right now you'll just need the Python Requests library.

pip install requests

Import the library:

import vralib

Usage

Log into the vRA instance

Use the vralib.Session.login() method to log into the vRealize automation server by creating an object with the .login @classmethod:

vra = vralib.Session.login(username, password, cloudurl, tenant, ssl_verify=False)

Variables are defined as:

  • username - a string containing the username that's logging into the environment. Typically it's user@domain
  • password - a string containing the password for the specified user.
  • cloudurl - a string that contains the FQDN or IP address of the vrealize automation server. Don't include the https bit. The library will sort out specific URLs for you
  • tenant - an optional string that contains the tenant you want to log into. If you leave this blank it will log into the default tenant
  • ssl_verify - a boolean value that can be used to disable SSL verification. Helpful for when you don't have signed/trusted certificates (like a development environment)

Getting data from the API

Once logged in you can access various methods through the object. For example to retrieve all of the available catalog items:

catalog = vra.get_catalogitem_byname(name)

Most returns are going to be python dictionaries.

Contributions welcome!