(Un)Official tools & extensions for vRealize Orchestrator


Disclaimer This list contains tools which may not be fully tested for production use. Use them at your own risk.


Over the years, working with vRealize Orchestrator, I have noticed that the vRO community is quite a strong community with a lot of competent folks. I saw a lot of work going around to revamp the way vRO works and make it an even funnier tool to work. Even though vRO is a proprietary software, a lot of Open-source work has been done circling it since it was invented. This post tries to list out most if not all of them and focuses on providing a bigger picture to all the readers that on how they can develop around vRO as well, instead of just developing inside it. Keep in mind that I am not listing open-source plugins, scripts or packages. Also, If you know any other tool that can be added to this list, I would thank you and add it here. Here is the list.

Let’s learn more about them in details below.

vmwvro

This repository is developed by Lior Abitbol. It is a simple Python library to interface with VMware vRealize Orchestrator. What you can do with vmwvro:

  • get workflow information
  • start a workflow
  • monitor a workflow run

Know more: https://github.com/LiorAbitbol/vmwvro


vRODoc

vRODoc is a PowerShell script, developed by Mayank Goyal, that connects with your vRealize Orchestrator to fetch a package that contains all your action modules and action items, intelligently add JSDoc annotation to those action items and convert them into html pages which can be presented as a web-based code documentation. See a live example here. You can also add other JSDoc comments to your actions.

Know more: https://github.com/imtrinity94/vRODoc


vrotsc (vRO TypeScript Compiler)

vrotsc, developed by internal team at VMware, is a custom TypeScript to JavaScript compiler using the TypeScript Compiler API. It transpiles TypeScript code into a vRO-compatible JavaScript by handling module resolution, classes, polymorphism and ECMAScript 6 shims. The object-oriented paradigm is achieved by using an external class library or by generating a small piece of code at the top of each file, which will wire the object prototypes (just like the original TypeScript compiler). Support for ES6 means you can use new array APIs and data structures such as Map and Set as if they are built into the vRO engine.

The compiler is written in NodeJS and can be distributed as a single executable for Windows, MacOS, and Linux.

Know more: https://blogs.vmware.com/management/2018/11/vro-development-with-typescript.html


vROAST

[NOT ACTIVE]

The vRO Assistant (vROAST) was a free community tool developed initially for internal usage by ITQ. It accelerated vRO code development and creates strong source control (GIT) integration. vROAST was distributed in 2 flavors: standard OVA and a docker image. However, this project was officially terminated.

Know more: https://vroast.io/


vRO XML Explorer

vRO XML Explorer is a Visual Studio Code plugin created by Chris Alleaume that edit existing vRO Workflow Scriptable Tasks and Action code directly by hooking straight into your linked git repo. It enables editing of Workflow and Action code straight from VSCode, without having to use Buildtools, Maven and the relatively complex process associated. Hence, gives various features like advanced linting & more robust code. It support Polyglot vRO runtimes viz. JavaScript, NodeJS, PowerShell & Python.

Know more: https://marketplace.visualstudio.com/items?itemName=ChrisAlleaume.vro-xml-explorer


vroapi.com

The vRealize Orchestrator API Explorer is a popular reference site for people working with vRealize Orchestrator (vRO). You can use it to all the JS types supported by vRO along with their methods and attributers. It is developed and maintained by Ruurd Keizer.

Know more: https://www.vroapi.com/


vRO CLI

[supports upto vRO 7.x]

vRealize Orchestrator Command Line Interface, developed by internal team of VMware, is an utility which can be used to simplify the coding with vRealize Orchestrator. You can make different actions from a vRealize Orchestrator (vRO) server :

  • pull : export a vRO package of a workflow to a local repository
  • expand : expand a local vRO package to a local files structure and permit to edit easily your code It also permit to upload to a vRO server :
  • build : Build a package file from the local files structure, it will take your code and rebuilt it as a vRO package.
  • push : Push/upload a package (and optionally build it) to a vRO server.

Know more: https://communities.vmware.com/t5/vRealize-Orchestrator-Documents/Technical-Preview-of-the-Command-Line-Interface-for-VMware/ta-p/2794955


vroparse/vRealize Orchestrator Parser

vRealize Orchestrator Parser is a fling tool developed by Jim Sadlek and allows user to extend the vRealize Build Tools Fling toolchain or to be used as a stand-alone with the Export Package to Folder option in native vRealize Orchestrator(vRO).

vRealize Orchestrator Parser parses vRO workflow XML files and extracts programming language code (Javascript, Python, Powershell, etc) and stores it as discrete files, that can then be checked into a source code control system, and or edited directly as discrete programming language source code from a traditional text-based source code editor, such as Visual Studio Code. These discrete files can also be consumed by other, third-party CI/CD systems like Maven and Jenkins. They can be edited, and they can be imported back into vRO workflow XML files. ‘Diffs’ and changes on the resulting code files are easily observed and tied to SCCS version numbers and releases, and can easily be merged and branched through normal software engineering development practices.

Know more: https://pypi.org/project/vroParse/ & https://flings.vmware.com/vrealize-orchestrator-parser


vFLOWer

[NOT ACTIVE]

vFLOWer Toolkit was developed by ByteLife Solutions, enabled exchanging VMware vCenter Orchestrator content (workflows, actions, etc) as a versionable source code in XML format. Along with its pre-requisite components vFLOWer allows vCO administrators and/or developers to perform the following actions:

  • Retrieve vCO content source code in XML format from remote version control repositories and build a binary vCO package to be imported into vCO.
  • Publish vCO content source code in XML format to remote version control repositories by unpacking/converting exported binary vCO packages.

Know more: https://github.com/Everything-VMware/vFLOWer


docker-o11n-repo

[supports upto vRO 7.x]

This repository is developed by Daniel Linsley. It allows user to access to the vco-repo Maven repository for vRealize Orchestrator plugin and package / building and testing without deploying a full-fledged vRO VM, this Dockerfile builds a nginx based container that will host the contents of the /vco-repo repository.

Know more: https://github.com/Everything-VMware/docker-o11n-repo


learnorchestrator.github.io

learnorchestrator.github.io is a website developed by Sam McGeown and Moff designed to be a living technical reference focused on providing in-depth information on vRealize Orchestrator. This website is visually great and engaging and supports vRO 8.x.

Know more: https://learnorchestrator.github.io/


PowervRO

[supports upto vRO 7.0]

PowervRO is a PowerShell module developed by Jakku Labs built on top of the services exposed by the vRealize Orchestrator REST API.

Know more: https://github.com/jakkulabs/PowervRO


vRO-package-diff

This repository was developed by Ludovic Rivallain. vRO-package-diff is a Python package to compare 2 VMware vRealize Orchestrator packages.

Know more: https://github.com/lrivallain/vro-package-diff


vROIDE

This PowerShell Module by Garry Hughes housing a set of functions designed to assist with the creation and update of VMware VRO Actions.

Know more: https://github.com/imtrinity94/vROIDE


vROCertTool

This gist again by Daniel Linsley allows user to create a certificate for signing vRO packages which can be easily injected in already existing vRO packages by simply replacing the old .cert file with the new one.

Know more: https://gist.github.com/imtrinity94/2a8b71f4513f6dfde2b19a16d12c7ab2


Ansible4vRO

This repository is developed by Tony Skidmore. It contains Ansible module for executing vRealize Orchestrator workflows.

Know more: https://github.com/imtrinity94/Ansible4vRO


pyvro

This module existed somewhere around 2009-10 which was nothing but a Python module to interact with vRO. However, no more information available about this module on Google right now.


That’s all in this post. I hope you like it. Feel free to share it with your vRO colleagues. Created with ❤️.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s