#!/usr/bin/perl -I../lib
use Data::Dumper;
use Getopt::Long;
use VMware::API::LabManager;
use strict;
my ( $username, $password, $server);
my $orgname = 'Global';
my $workspace = 'Main';
my $ret = GetOptions ( 'username=s' => \$username, 'password=s' => \$password,
'orgname=s' => \$orgname, 'workspace=s' => \$workspace,
'server=s' => \$server );
die "Check the POD. This script needs command line parameters." unless
$username and $password and $orgname and $workspace and $server;
my $labman = new VMware::API::LabManager (
$username, $password, $server, $orgname, $workspace
);
my $orgs = $labman->priv_GetOrganizations();
for my $org (@$orgs) {
my $org_id = $org->{Id};
my $org_name = $org->{Name};
print "ORG: $org_name ($org_id)\n";
my $wss = $labman->priv_GetOrganizationWorkspaces($org_id);
$wss = [ $wss ] if ref $wss eq 'HASH'; # Single workspace condition
for my $ws (@$wss) {
my $ws_id = $ws->{Id};
my $ws_name = $ws->{Name};
print " WS: $ws_name ($ws_id)\n";
if ( $ws->{Configurations} and $ws->{Configurations}->{Configuration} ) {
my $confs = $ws->{Configurations}->{Configuration};
$confs = [ $confs ] if ref $confs eq 'HASH'; # Single configuration condition
for my $conf (@$confs) {
my $conf_id = $conf->{id};
my $conf_name = $conf->{name};
print " CONF: $conf_name ($conf_id)\n";
}
}
}
print "\n";
}