From cc25bed063d0be2fb6020623cd2ed780cb88b9c4 Mon Sep 17 00:00:00 2001 From: John Bowdre <61015723+jbowdre@users.noreply.github.com> Date: Tue, 14 Jun 2022 08:54:09 -0500 Subject: [PATCH] Create vraGetVcenter.js --- .../vraGetVcenter.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Orchestrator/Actions/com.virtuallypotato.inputs/vraGetVcenter.js diff --git a/Orchestrator/Actions/com.virtuallypotato.inputs/vraGetVcenter.js b/Orchestrator/Actions/com.virtuallypotato.inputs/vraGetVcenter.js new file mode 100644 index 0000000..aeb9e68 --- /dev/null +++ b/Orchestrator/Actions/com.virtuallypotato.inputs/vraGetVcenter.js @@ -0,0 +1,20 @@ +/* JavaScript: vraGetVcenter action + Returns the vCenter hostname associated with a given site. + Inputs: zoneName (string) + Return type: string +*/ +var cloudAccountId = null; +var token = System.getModule("com.virtuallypotato.utility").vraLogin(); +var zones = JSON.parse(System.getModule("com.virtuallypotato.utility").vraExecute(token, "GET", "/iaas/api/zones", null)).content; +System.debug("Zones: " + JSON.stringify(zones)); +for each (zone in zones) { + if (zone.name === zoneName) { + cloudAccountId = (zone._links["cloud-account"].href).split('/').pop(); + } + if (cloudAccountId != null) { break; }; +} +System.debug("Cloud Account ID: " + cloudAccountId); +var vCenterName = JSON.parse(System.getModule("com.virtuallypotato.utility").vraExecute(token, "GET", "/iaas/api/cloud-accounts-vsphere/" + cloudAccountId, null)).hostName.split('.')[0]; +System.getModule("com.virtuallypotato.utility").vraLogout(token); + +return vCenterName;