Monday, September 8, 2014

Retrieve the external IP of a vCenter Orchestrator server

Recently I had to understand what's the external IP of the server that my vCO was deployed on. Since I did not had SSH access to the machine I wondered how I could do this. It turned out to be as simple as few lines of JavaScript in a vCO action. I used the HTTP REST plugin to make a get request to http://ipecho.net/plain and extract the response.

The code (with dynamically adding and removing REST hosts) :
var host = new RESTHost("IP echo");
host.url = "http://ipecho.net/";

host = RESTHostManager.addHost(host);

try {
 var response = host.createRequest("GET", "plain").execute();
 
 RESTHostManager.removeHost(host.id);
 
 return response.contentAsString;
} catch (e) {
 RESTHostManager.removeHost(host.id);
 
 throw e;
}

No comments:

Post a Comment