vRO Workflow – Attach a .csv file for bulk vcpu and vmem resource adds

April 5, 2018

This vRealize Orchestrator workflow package will receive a .csv file as input and modify VMs CPU and Memory size.

See example .csv file (notepad works fine)





The workflow schema







Workflow generated documentation

vRO workflow package is published here


Global Inputs –

Name: inFile Type: MimeAttachment

Global Outputs –

Name: actionResult Type: VC:Task

Attributes –

Name:memory Type: number

Name:vcpu Type: number

Name:allLines Type: Array/string

Name:currentLine Type: string

Name:vmname Type: string

Name:vms Type: Array/VC:VirtualMachine

Name:vm Type: VC:VirtualMachine


Get-Data Element –






Extract-Data Element –







Parse-Data Element –








Running VMware Orchestrator workflows from an Ansible playbook

March 19, 2018

Below is a sample of how to send REST API calls to VMware Orchestrator using the Ansible uri_module in a playbook. In this example, vRO input values are provided using an input file “input.json” rather than embedding the JSON in the playbook itself which is also acceptable. The zip file includes the playbook and input file that can be used as a template.

Zip located here at VMware Code Samples

Playbook: “vro-playbook-revertSnap.yaml”








Input File: “input.json”







Running the Ansible playbook:




vCenter task showing that the workflow has executed successfully against our VM.



From Ansible: “Docs » uri – Interacts with webservices”


vRealize_Automation _7.x-Extending-Disk-of-vCenter-Template-Blueprint

November 15, 2017

vRealize Automation 7.x Extending disk of vCenter template blueprint


Upon provisioning, you need to extend the C drive of a virtual disk in vRealize Automation from a vCenter (vSphere) machine template blueprint.

Currently, machine blueprints which include disks created from a vCenter template cannot be modified by vRealize Automation.


I created a vRealize Automation event subscription to invoke a custom vRealize Orchestrator workflow to extend a vCenter (vSphere) machine template disk.


Creating a vRealize Automation blueprint with custom properties is very easy to configure.

When a virtual machine is provisioned, vRealize Automation’s Event Broker service will call an Orchestrator workflow to extend its C drive partition.

The “vRA_Extend-C_Drive-IntoGuest” workflow takes one input parameter called vmProperties of type Properties. Within its payload are two values of interest, vmUuid which represents our provisioned virtual machine and newSizeGb which carries the value of our user’s input from vRealize Automation for the disk size space increase.




The vRA payload element ingests the payload and passes on the VM’s UUID (vmUuid) to the following workflow element “findVcVmByUuid” which then takes our VM’s Admin UUID (vmUuid) from vRealize Automation, performs a lookup in vCenter and returns the VM’s sdk information in the form we want in type (VC:Virtual Machine) to pass to the last element in our wrapper workflow to finally extend the C drive.

Side note: any workflow element that excepts input of type VC:Virtual Machine can be inserted here to perform whatever you want vs increasing a C drive workflow.

Here are the workflow elements of the “vRA_Extend-C_Drive-IntoGuest” workflow and does the heavy lifting for us.

  • CMD-Extend-Hard_Disk_1
  • extendDisk
  • Copy file from vCO to guest
  • Run program in guest




It takes two inputs, vm and newSizeGb that are fed from the wrapper workflow from vRealize Automation.

ExtendDisk element does what it sounds like, it extends the virtual disk vmdk in vSphere/vCenter. It creates the virtual machine reconfigure spec and re-configures the VM.










It then copies over the scripts (extend.cmd and extend.txt) and runs them in the guest operating system. I’m using diskpart.exe which seems most reliable across most versions of Windows OS but, if you like to use PowerShell, use something like this:




The scripts used are very basic and easy to create but, for sake of ease, they are bundled in the workflow package as resources.






Event Subscription:

Run based on conditions

All of the following

Data > Machine > Machine Type  = Virtual Machine

Data > Lifecycle state > Lifecycle state name = VMPSMasterWorkflow32.MachineProvisioned

Data > Lifecycle state > State phase =POST

Data > Blueprint name = Your Blueprint name







Remember to publish your subscription





In the blueprint, I added two custom properties:

1) Extensibility.Lifecycle.Properties.VMPSMasterWorkflow32.MachineProvisioned

For its value, I used an asterisk * to pull in the entire payload from this property. You may wish to refine your property output to send only the values you are interested in (VM Admin UUID) vs. sending the entire payload to Orchestrator to process.

2) newSizeGb

I left its value empty to prompt users for input when requesting virtual machines from the this blueprint.






List of Workflows

  • vRA_Extend-C_Drive-IntoGuest
  • CMD-Extend-Hard_Disk_1
  • extendDisk
  • Copy file from vCO to guest
  • Run program in guest

List of Actions

  • findVcVmByUuid
  • vim3WaitTaskEnd

List of Resources

  • extend.cmd
  • extend.txt
  • extend.ps1

Workflow package

  • com.vra.extensibility.c-drive

Download details: Workflow package


Refer to VMware documentation:


Image showing changes to the VM from the vSphere client:







Rob Shaw – 11/14/2017



December 13, 2016

Managing VIC Container Hosts (VCH)

To reboot or power off a vSphere Integrated Container host (VCH), enter “debug” mode using the VIC cli from a Docker client. Do not use the vSphere client.

“IMPORTANT: Do not use the vSphere Web Client to perform operations on VCH appliances or container VMs.
Specifically, using the vSphere Web Client to power off, or delete VCH appliances or container VMs can
cause vSphere Integrated Containers Engine to not function correctly. Always use vic-machine to perform
operations on VCHs. Always use Docker commands to perform operations on containers.”

Taken from Github:

Pre-requisites: make sure all containers running on the Virtual Conatiner Host are exited, stopped.

docker@ubuntu:~/vic$ sudo ./vic-machine-linux debug –target= –user=administrator@vsphere.local –password=xxxxxx –thumbprint=11:41:53:20:A1:60:81:CB:2B:9B:C3:1D:AF:42:76:AF:A4:35:C3:63 –name vmvicvch001

Sample output: entering debug mode and then shutting down a VCH

docker@ubuntu:~/vic$ sudo ./vic-machine-linux debug –target= –user=administrator@vsphere.local –password=xxxxxxxx –thumbprint=11:41:53:20:A1:60:81:CB:2B:9B:C3:1D:AF:42:76:AF:A4:35:C3:63 –name vmvicvch002
INFO[2016-12-10T22:45:00-08:00] ### Configuring VCH for debug ####
INFO[2016-12-10T22:45:00-08:00] VCH ID: VirtualMachine:vm-24
INFO[2016-12-10T22:45:01-08:00] Installer version: v0.8.0-7315-c8ac999
INFO[2016-12-10T22:45:01-08:00] VCH version: v0.8.0-7315-c8ac999
INFO[2016-12-10T22:45:01-08:00] SSH to appliance:
INFO[2016-12-10T22:45:01-08:00] ssh root@
INFO[2016-12-10T22:45:01-08:00] VCH Admin Portal:
INFO[2016-12-10T22:45:01-08:00] Published ports can be reached at:
INFO[2016-12-10T22:45:01-08:00] Docker environment variables:
INFO[2016-12-10T22:45:01-08:00] DOCKER_HOST=
INFO[2016-12-10T22:45:01-08:00] Connect to docker:
INFO[2016-12-10T22:45:01-08:00] docker -H info
INFO[2016-12-10T22:45:01-08:00] Completed successfully

Notice ssh is enabled now. “ssh root@”

docker@ubuntu:~/vic$ sudo ssh root@
The authenticity of host ‘ (’ can’t be established.
ECDSA key fingerprint is SHA256:OVBVYt/Bzc3HrnMpDfTqpevxk5tXLmyGiXGCa/7y7DM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘’ (ECDSA) to the list of known hosts.
root@vmvicvch002 [ ~ ]# shutdown -h now
root@vmvicvch002 [ ~ ]# Connection to closed by remote host.
Connection to closed.

Verify the VIC VCH performed the operation using the vSphere Web Client.

To power on a VIC VCH, use the vSphere Web client and power on the vAPP container host, not the containers. There currently is no power on command within vic-machine. See below output from vic-machine help. Containers must be stopped and started using docker commands.

See wiki here: vSphere Integrated Containers – Docker stop and start commands

docker@ubuntu:~/vic$ sudo ./vic-machine-linux –help
vic-machine-linux – Create and manage Virtual Container Hosts

vic-machine-linux [global options] command [command options] [arguments…]


create   Deploy VCH
delete   Delete VCH and associated resources
ls       List VCHs
inspect  Inspect VCH
version  Show VIC version information
debug    Debug VCH

–help, -h     show help
–version, -v  print the version

Rob Shaw – 12/13/2016



December 13, 2016

vSphere Integrated Containers – Docker stop and start commands


To get info on containers running, use “docker ps -a”
It is useful for container names, IDs and IP addresses of web containers/applications.

Example 1:

docker@ubuntu:~/vic$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
5f19f6793ffa        busybox             “sh”                5 hours ago         Up 5 hours                              naughty_goldberg

Example 2:

docker@ubuntu:~/vic$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                     NAMES
f23b1f10281f        nginx               “nginx -g daemon off;”   About a minute ago   Up 54 seconds>80/tcp   condescending_euclid

With the container ID, we can and issue “docker start” or “docker stop” to manage power state in vCenter.

docker@ubuntu:~/vic$ docker start 5f19f6793ffa


If we wanted to remove and delete a container, use docker rm {container ID}
docker@ubuntu:~/vic$ docker rm 5f19f6793ffa

“docker info” is another useful command for seeing details about your container host

docker@ubuntu:~/vic$ docker info
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 1
Server Version: v0.8.0-7315-c8ac999
Storage Driver: vSphere Integrated Containers v0.8.0-7315-c8ac999 Backend Engine
VolumeStores: default
vSphere Integrated Containers v0.8.0-7315-c8ac999 Backend Engine: RUNNING
VCH mhz limit: 7800 Mhz
VCH memory limit: 13.18 GiB
VMware Product: VMware vCenter Server
VMware OS: linux-x64
VMware OS version: 6.5.0
Network: bridge
Is Manager: false
Node Address:
Security Options:
Operating System: linux-x64
OSType: linux-x64
Architecture: x86_64
CPUs: 7800
Total Memory: 13.18 GiB
Name: vmvicvchAdmiral
ID: vSphere Integrated Containers
Docker Root Dir:
Debug Mode (client): false
Debug Mode (server): false
Registry: registry-1.docker.io

To get details of a virtual host container, run inspect. The Docker endpoint environment variable is what you would give to your developer.

The endpoint info is added into the vSphere Web client after installing the VIC UI plug-in. Shown below:

docker@ubuntu:~/vic$ sudo ./vic-machine-linux inspect –target= –user=administrator@vsphere.local –password=xxxxxx –thumbprint=11:41:53:20:A1:60:81:CB:2B:9B:C3:1D:AF:42:76:AF:A4:35:C3:63 –name vmvicvch001
INFO[2016-12-10T21:47:58-08:00] ### Inspecting VCH ####
INFO[2016-12-10T21:47:59-08:00] VCH ID: VirtualMachine:vm-22
INFO[2016-12-10T21:47:59-08:00] Installer version: v0.8.0-7315-c8ac999
INFO[2016-12-10T21:47:59-08:00] VCH version: v0.8.0-7315-c8ac999
INFO[2016-12-10T21:47:59-08:00] VCH Admin Portal:
INFO[2016-12-10T21:47:59-08:00] Published ports can be reached at:
INFO[2016-12-10T21:47:59-08:00] Docker environment variables:
INFO[2016-12-10T21:47:59-08:00] DOCKER_HOST=
INFO[2016-12-10T21:47:59-08:00] Connect to docker:
INFO[2016-12-10T21:47:59-08:00] docker -H info
INFO[2016-12-10T21:47:59-08:00] Completed successfully

Portlet UI added from VIC plug-in (Virtual Container Host)


Rob Shaw – 12/13/2016


vRealize Automation 7.x – Cannot remove storage

August 4, 2016

vRealize Automation 7.x and “You cannot remove storage with name [Your Datastore Name] because there are managed machines still attached to it.”


I had a virtual machine in vRealize Automation 7 that showed up in the UI and in the IaaS database but, did not actually exist anywhere in vSphere. The VM is question was deleted in vRA using the user’s tenant entitlement options. The VM was deleted in vSphere but, was stuck forever in vRA’s interface as “Finalized” and I could no longer perform any actions on this VM.

Removing the VM from the IaaS database allowed me to successfully remove the stuck Datastore from the reservation.

Caveat, if the VM still shows up in the vRA UI, you may need to do some further cleanup.

If at all possible, try using the VMware Cloud Client 4.x (4.1 is current) and remove the VM before touching the IaaS database. Try deleting the VM and removing the Datastore object after purging any VM objects tied to it.

If unsuccessful, try deleting it from the database.


SELECT * FROM VirtualMachine WHERE VirtualMachineName = Your VM Name’

Note the Primary key in the IaaS database in the dbo.VirtualMachine table – ‘VirtualMachineID’

Verify the ID is a match on the VM in question by comparing the name in the VirtualMachineName column:

SELECT * FROM VirtualMachine WHERE VirtualMachineId = ‘3B23C483-C39D-40DE-AF7E-5D9BBDBBFE2D’

DELETE FROM [dbo].[VirtualMachine] where VirtualMachineId = ‘3B23C483-C39D-40DE-AF7E-5D9BBDBBFE2D’

Run an Inventory refresh “Data collection” in vRA and then you should be able to remove the Datastore object successfully from the compute resource’s reservation.
Once the managed machine was deleted from the database, it allowed the removal of the Datastore from the reservation. All managed machines = 0 or false freeing any vRA VM to Datastore dependencies.
SELECT * FROM VirtualMachine WHERE StoragePath = ‘Datastore Name”

Rob Shaw – 8/4/16


vRealize Automation 7.x Fix Snapshot operation in progress

August 4, 2016

vRealize Automation 7.x hung process cleanup Snapshot operation in progress…

1) Stop all DEM related services on the IaaS server (so no new requests can enter IaaS)

2) Run backup on the vRA database - can right-click the vra database in SQL and choose Backup

3) Run query to check for pending actions:

Select * from [dbo].[WorkflowOperations]

4) View results: validate IDs

5) After validation, delete the workflow operation by its ID.

Delete from [dbo].[WorkflowOperations] where Id = WorkflowOperationId


Delete from [dbo].[WorkflowOperations] where Id = 6297

6) Check pending actions:

Select * from [dbo].[WorkflowOperations]

7) Review the failed or hung action item(s) in the vRA tenant’s UI and validate that the message has cleared.

8) Restart the DEM worker services on the IaaS server. I typically do a gratuitous reboot of both vRA and IaaS servers when done.


Refer to VMware kb 2137019 – Note this kb is documented for vRA 6.x


Rob Shaw – 8/4/16


vRealize Automation 7.0.1 Upgrade

July 8, 2016

vRealize Automation 7.0.0 to 7.0.1 Upgrade Process

High level steps:
Backup data
Upgrade vRA
Upgrade IaaS

1) Stage upgrade binaries in a software repository, IIS or Apache – http://your-software-repository-host/repo/vcac/7.0.1/ – note if using IIS, you need to add MIME extensions. See method from VMware – https://kb.vmware.com/kb/1019288
Or use the CDROM ISO method by mounting the upgrade ISO image to the vRA appliance.

2) Backup vRA data from vRA core:

3) Backup vRA Postgres database – vRA core

4) Backup IaaS MS SQL database

5) Power off (in order)
5A) IaaS Windows Server
5B) vRealize Automation appliance – vRA core

6) Clone vRA core as backup (cleanup/delete after upgrade is successful) – Note you cannot increase a VM disk that has snapshots associated with it – cloning the VM in case of partition corruption on the vRA appliance.

7) Extend the vRA core appliance "Hard Disk 1" to 50GB from 18GB – required space for the upgrade per VMware HW requirements. Also, validate that the vRA core appliance has 18GB RAM and 4 vCPUS on 1 Socket.

8) Snapshot vms (vRA core and IaaS)

9) Power on vms – IaaS and then vRA core

10) Log into IaaS server and shutdown vRA services (in order)
10A) All VMware vCloud Automation Center agents – for each vCenter endpoint
10B) All VMware DEM workers
10C) VMware DEM orchestrator
10D) VMware vCloud Automation Center Service

Leave the IaaS server console open and do not reboot it once services are shutdown, they'll be restarted by the installer later on…

11) Validate that the IaaS service hosted in IIS is functional by testing its URL – https://your-IaaS-host/Repository/Data/MetaModel.svc
This should display an XML manifest page

12) Validate the IaaS repository log located at "C:\Program Files (x86)\VMware\vCAC\Server\Model Manager Web\Logs" on the IaaS server and verify that its status is OK in the logs – "context=""  token="" (22) Response: OK 0:00.013"

13) SSH into the vRA core appliance and stop all vRealize Automation services (in order)
13A) service vcac-server stop
13B) service vco-server stop
13C) service vpostgres stop

your-vra-host:~ # service vcac-server stop
Stopping tcServer
=== Checking vCAC Configuration…
Found in /etc/vcac/security.properties: csp.host
Found in /etc/vcac/security.properties: vmidentity.websso.host
Found in /etc/vcac/security.properties: vmidentity.websso.tenant
Found in /etc/vcac/security.properties: vmidentity.websso.solution
Found in /etc/vcac/security.properties: certificate.store.file
Found in /etc/vcac/security.properties: certificate.store.password
Found in /etc/vcac/security.properties: csp.component.registry.url
Found in /etc/vcac/security.properties: certificate.store.websso.alias
Found in /etc/vcac/security.properties: certificate.store.ssl.alias
websso, Jan 12, 2016, PrivateKeyEntry,
apache, Jan 12, 2016, PrivateKeyEntry,
VCAC configuration seems to be ok.
VCAC stop is allowed.
Instance is running as PID=5804, shutting down…
Instance is running PID=5804, sleeping for up to 60 seconds waiting for shutdown
Instance shut down gracefully
your-vra-host:~ # service vco-server stop
Stopping tcServer
Instance is running as PID=6120, shutting down…
Instance is running PID=6120, sleeping for up to 60 seconds waiting for shutdown
Instance shut down gracefully
your-vra-host:~ # service vpostgres stop
Stopping VMware vPostgres: Last login: Wed Jul  6 19:44:00 CDT 2016 on console

Special Note: While executing the commands in steps (14 – 20), you will receive a message from the system that you must perform a reboot before continuing, disregard and continue exactly as follows below. DO NOT REBOOT UNTIL STEP 21.

14) Unmount the vRA swap partition with "swapoff -a"

15) Delete the existing Hard Disk 1 partitions and create a 44 GB root partition and a 6 GB swap partition (1 command)
(echo d; echo 2; echo d; echo 1; echo n; echo p; echo ; echo ; echo '+44G'; echo n; echo p; echo ; echo ; echo ; echo w; echo p; echo q) | fdisk /dev/sda

16) Change the swap partition type
(echo t; echo 2; echo 82; echo w; echo p; echo q) | fdisk /dev/sda

17) Set the Disk 1 bootable flag
(echo a; echo 1; echo w; echo p; echo q) | fdisk /dev/sda

18) Register the partition changes with the Linux kernel

19) Format the new swap partition
mkswap /dev/sda2

20) Mount the swap partition
swapon -a

21) Reboot vRA core appliance

22) Wait for the appliance to boot and resize the Disk 1 partition table – this may take a couple minutes
resize2fs /dev/sda1

your-vra-host:~ # resize2fs /dev/sda1
resize2fs 1.41.9 (22-Aug-2009)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 3
Performing an on-line resize of /dev/sda1 to 11534336 (4k) blocks.
The filesystem on /dev/sda1 is now 11534336 blocks long.

After resizing your vRA appliance, it should look like this using the disk free command df -h
sda1 should now be 44G

your-vra-host:~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        44G   11G   31G  27% /
udev            8.9G  112K  8.9G   1% /dev
tmpfs           8.9G   12K  8.9G   1% /dev/shm
/dev/sdb1       6.9G 1015M  5.6G  16% /storage/log
/dev/sdb2       7.9G  147M  7.4G   2% /storage/ext
/dev/sdc1        25G  173M   24G   1% /storage/artifactory
/dev/sdd1        50G  1.4G   46G   3% /storage/db

23) Prepare for the upgrade. Go to the vRA VAMI – https://your-vra-host:5480
log in as root, go to the Update tab, click settings and add your repository URL – http://your-software-repository-host/repo/vcac/7.0.1/, then click save.

24) Verify ALL vRA services are running all except "iaas-service" and at least 2 vCO services must be running in the VAMI prior to launching the upgrade, on services tab – https://your-vra-host:5480

25) Go back to the updates Status tab and click "Check Updates" – you should see "Available Updates in green font appear.

Update Status

26) Click "Install Updates" and proceed, you will see an "installing updates…" screen

27 Optional) SSH into the vRA core and watch logs related to the upgrade progress from the following locations:

28) Once the installer completes, reboot the vRA core appliance and wait for all vRA core services to start in the VAMI except IaaS- https://your-vra-host:5480

29) Download the newly upgraded IaaS server components and stage them on the IaaS server-  https://your-vra-host:5480/installer – the "IaaS installer" link

30) Log in as "the admin/SQL DBO acct/ AKA administrative service account" and upgrade the new IaaS server components – run the installer on the IaaS server Desktop location and make sure that "Upgrade" is selected.
(admin account is "root" when prompted) after the installer runs and does its prerequisite check, leave all of the defaults selected on the "Detailed Components" screen except unselect "Use SSL for database connection.
on the "Component Registry" screen click "Load" and "Download" buttons to auto-polulate the fields, SSO admin = "administrator". click on the "test" links to validate. you should receive a "Passed" result status displayed.
finally click the "Upgrade" button and watch the output window for progress. This process, (IaaS installer) will take approximately 1.5 hours including data input. From clicking "Upgrade", it took "Execution time:86.656" to complete.
Note that the prerequisite checker should all return successful without having to modify the IaaS configuration.

31) Validate the upgrade version and functionality – test logging in, provisioning, logging and monitoring, vCO configuration, tenant settings such as endpoints, business groups, compute resources, naming prefixes, network pools/profiles and blueprints.

From VAMI post upgrade: Appliance Version: Build 3622989

This is a condensed version of the steps included within the nicely written VMware document, "Upgrading from vRealize Automation
7.0 to 7.0.1" located here:


Thank you, Rob Shaw



Determining the list of users logged in to vRealize Automation 7

March 9, 2016
I was searching for a way to discover which users were currently logged in to our vRealize Automation 7 suite so we could do some maintenenace and found this VMware kb article that was slightly dated but, pointed me in the right direction which was the IaaS database of course.
VMware kb article referenced:
I did a quick sanity check and found the tables referenced no longer existed in the vRA 7 IaaS database but, that there was a table named "UserLog" which had some interesting columns in it.
Note: the "Users" table seems to be a placeholder for all the users that have ever logged into vRA, not all of the Users allowed to log into vRA.
Running this SQL query from the vRA 7 IaaS database will return all the users sorted by date to find current logged in users along with what actions the user(s) performed.
SELECT UserName,Message,Timestamp AS 'Date' from UserLog ORDER BY Timestamp DESC;
Happy hunting!
Rob Shaw

Coffee XaaS, VMware Orchestrator Create Coffee Workflow – Arduino Project

January 16, 2015

Create Coffee Workflow:

I used VMware Orchestrator's REST API's to consume my coffee pot as an XaaS (Anything as a Service) element to let the Java flow.

I developed an Orchestrator workflow called Create Coffee to make me a cup of Java for any operational tasks that may take an extended amount of time.

Part of my motivation was wanting to challenge the notion of being able to really consume anything as a Service using VMware Orchestrator.
I thought, if I can consume or provision a cup of coffee in my physical World, then I should be able to consume most anything using vCO Dynamic Types provided
that thing has a SOAP or REST interface to leverage 🙂

The Create Coffee workflow element can be used in a workflow wrapper. For demonstration purposes, I chose to wrap up my Create Coffee within a
workflow that puts an ESXi host into maintenance Mode, a task that can sometimes take a few minutes depending on workloads.

Using the Arduino Yun board simply allowed me to present a REST interface in front of my coffee maker.

To achieve this, I used an Arduino Yun microcontroller, a PowerSwitch Tail II, a coffee maker and VMware Orchestrator.

I connected the Arduino Yun's digital pin #13 for the positive "+in" and the GND port for the negative "-in" connection to the PowerSwitch Tail II.

Sketch uploaded to the Arduino Yun:

Using RESTClient, a FireFox add-in, I tested my REST commands against the Arduino digital pins.

In Orchestrator, I added a REST host, REST operation, and then generated a workflow from the REST operation to communicate with my Arduino Yun microcontroller.

REST Operation created:

Creating a workflow from the REST operation:

Create Coffee workflow executed successfully:

The "kit":

Our host is in Maintenance Mode and our cup of coffee is ready!

So, if a coffee system ever arrives in the workplace that we can safely order coffee beverages from via web services, we'll be ready to workflow our
precious coffee into a repeatable task 🙂

Thanks VMware vRealize Automation!

Rob Shaw – 1/16/2015