Created
September 13, 2019 00:04
-
-
Save trisharia/d62f01b3bd494d315e197461d8fa1e33 to your computer and use it in GitHub Desktop.
Get all vRA/vRA Cloud Network by name and external region ID
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// VMware vRealize Orchestrator action sample | |
// | |
// Get vRA/vRA Cloud network details in JSON format, given its name and external region ID | |
// Assumes the presence of action System.getModule("com.vmware.pso.rest").executeTransientRESTOperation | |
// Obtain the action here: https://gist.github.com/trisharia/7b62fcdf12600511b3d7e9b635981b2c | |
// | |
// For vRA Cloud 7.0+ and vRA 8.0+ | |
// | |
// Action Inputs: | |
// cspBaseUrl - string - Base URL for connecting to VMware Cloud Services RESTful API | |
// e.g., https://api.mgmt.cloud.vmware.com | |
// cspAuthToken - string - VMware Cloud Services bearer token | |
// Get this token by running the following action first: https://gist.github.com/trisharia/4262427728b9ca2f22f76c39a5521768 | |
// name - string - Name of the network | |
// externalRegionId - string - External region ID | |
// | |
// Return type: Any - JSON object of vRA/vRA Cloud network details | |
const opMethod = "GET"; | |
const opUrl = "/iaas/fabric-networks?$filter=name%20eq%20'" + name.replace(/\s/g, "%20") + "'" | |
+ "%20and%20externalRegionId%20eq%20'" + externalRegionId + "'"; | |
var headers = new Properties(); | |
headers.put("Authorization", "Bearer " + cspAuthToken); | |
var opResponse = System.getModule("com.vmware.pso.rest").executeTransientRESTOperation( | |
cspBaseUrl,null,null,opMethod,opUrl,null,headers,null,null); | |
if (opResponse.statusCode >= 400) { | |
throw "Failed to get network (" + opResponse.statusCode + " Error). Details: " + opResponse.responseString; | |
} | |
var responseJson = JSON.parse(opResponse.responseString); | |
if (!responseJson.content || responseJson.content.length === 0) { | |
throw "No network found with name '" + name + "' with externalRegionId=" + externalRegionId; | |
} | |
var network = responseJson.content[0]; | |
return network; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment