/**
* @module de.stschnell.restRequestExample
*
* @author Stefan Schnell <mail@stefan-schnell.de>
* @license MIT
* @version 0.2.0
*
* @param {string} in_vcoFQDN vCO FQDN
* @param {string} in_userName Name of the username
* @param {SecureString} in_password Password of the user
*
* @outputType Properties
*
* @description Example how to use a REST Request with JavaScript
*
* @example
* const in_vcoFQDN = "https://rainpole.auto.vcf.sddc.lab";
* const in_userName = "holadmin@vcf.holo.lab";
* const in_password = "VMware123!";
* const result = System.getModule("de.stschnell").restRequestExample(
* in_vcoFQDN,
* in_userName,
* in_password
* );
* System.log(JSON.stringify(result));
*
* Checked with Aria Automation 8.18.0
*/
function main() {
var restHost = RESTHostManager.createTransientHostFrom(
RESTHostManager.createHost("dynamicRequest")
);
restHost.url = in_vcoFQDN;
// Get the token for API call
var login = JSON.stringify({
"username": in_userName,
"password": in_password
});
var request = restHost.createRequest(
"POST", "/csp/gateway/am/api/login?access_token", login
);
request.contentType = "application/json";
var response = request.execute();
var refreshToken = "{\"refreshToken\":\"" +
JSON.parse(response.contentAsString).refresh_token + "\"}";
var request = restHost.createRequest(
"POST", "/iaas/api/login", refreshToken
);
request.contentType = "application/json";
var response = request.execute();
var bearerToken = JSON.parse(response.contentAsString).token;
// As example here get all deployments via Service Broker API call
var request = restHost.createRequest(
"GET", "/deployment/api/deployments?size=999"
);
request.setHeader("Content-Type", "application/json");
request.setHeader("Accept", "application/json");
request.setHeader("Authorization", "Bearer " + bearerToken);
var response = request.execute();
System.log(response.contentAsString);
return JSON.parse(response.contentAsString);
}
return main();
|