mirror of
https://github.com/jbowdre/vRealize.git
synced 2024-11-22 18:02:19 +00:00
38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
/* JavaScript: vraGetImages action
|
|
Retrieves the list of images available in a given Zone.
|
|
Inputs: zoneName (string)
|
|
Return type: array/string
|
|
*/
|
|
if (!(zoneName == "" || zoneName == null)) {
|
|
var arrImages = new Array();
|
|
var regionUri = 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) {
|
|
System.debug("Matching zone: " + zone.name);
|
|
regionUri = zone._links.region.href;
|
|
}
|
|
if (regionUri != null) { break; };
|
|
}
|
|
System.debug("Matching region URI: " + regionUri);
|
|
var images = JSON.parse(System.getModule("com.virtuallypotato.utility").vraExecute(token, "GET", "/iaas/api/images", null)).content;
|
|
System.debug("Images: " + JSON.stringify(images));
|
|
images.forEach(
|
|
function (image) {
|
|
if (image._links.region.href === regionUri) {
|
|
System.debug("Images in region: " + JSON.stringify(image.mapping));
|
|
for (var i in image.mapping) {
|
|
System.debug("Image: " + i);
|
|
arrImages.push(i);
|
|
}
|
|
}
|
|
}
|
|
);
|
|
arrImages.sort();
|
|
System.getModule("com.virtuallypotato.utility").vraLogout(token);
|
|
return arrImages;
|
|
} else {
|
|
return [""];
|
|
}
|