From 95b755e8ed819ff16ea190cd5949b6bb466f5880 Mon Sep 17 00:00:00 2001 From: John Bowdre <61015723+jbowdre@users.noreply.github.com> Date: Tue, 14 Jun 2022 09:07:04 -0500 Subject: [PATCH] Create vcExecute.js --- .../com.virtuallypotato.utility/vcExecute.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Orchestrator/Actions/com.virtuallypotato.utility/vcExecute.js diff --git a/Orchestrator/Actions/com.virtuallypotato.utility/vcExecute.js b/Orchestrator/Actions/com.virtuallypotato.utility/vcExecute.js new file mode 100644 index 0000000..541d3bb --- /dev/null +++ b/Orchestrator/Actions/com.virtuallypotato.utility/vcExecute.js @@ -0,0 +1,22 @@ +/* JavaScript: vcExecute action + Executes an action against a vCenter REST endpoint. + Inputs: token (string), method (string), uri (string), content (string), vCenterName (string) + Return Type: string +*/ +var host = System.getModule("com.virtuallypotato.utility").getConfigValue("vPotato", "Endpoints", vCenterName).host; +if (content) { + var request = host.createRequest(method, uri, content); +} else { + var request = host.createRequest(method, uri); +} +request.setHeader("Content-Type", "application/json"); +request.setHeader("vmware-api-session-id", token); +var response = request.execute(); +var statusCode = response.statusCode; +var responseContent = response.contentAsString; +if (statusCode > 399) { + System.error(responseContent); + throw "vcExecute action failed, status code: " + statusCode; +} + +return responseContent;