function queryRecord($type, $filter, $field, $sortType, $sortField, $pgSize) { $queryParams = new VMware_VCloud_SDK_Query_Params(); if (isset($filter)) { $queryParams->setFilter($filter); } if (isset($field)) { $queryParams->setFields($field); } if (isset($sortType)) { if (isset($sortField) && $sortType == "a") { $queryParams->setSortAsc($sortField); } else { $queryParams->setSortDesc($sortField); } } if (isset($pgSize)) { $queryParams->setPageSize($pgSize); } else { $queryParams->setPageSize(128); } // look for record types only $queryFormat = "Records"; $qr = "query{$queryFormat}"; $recObj = $GLOBALS['sdkQuery']->{$qr}($type, $queryParams); $records = $recObj->getRecord(); return $records; }
} // parameters validation if (!isset($server) || !isset($user) || !isset($pswd)) { echo "Error: missing required parameters\n"; usage(); exit(1); } // login $service = VMware_VCloud_SDK_Service::getService(); $service->login($server, array('username' => $user, 'password' => $pswd), $httpConfig); // create an SDK Query object $sdkQuery = VMware_VCloud_SDK_Query::getInstance($service); $qm = "queryRecords"; $type = "adminVM"; $params = new VMware_VCloud_SDK_Query_Params(); $params->setSortAsc('name'); $params->setPageSize(128); $recsObj = $sdkQuery->{$qm}($type, $params); // table to store output $tbl = new Console_Table(); $tbl->setHeaders(array('VirtualMachine', 'vApp', 'vAppTemplate', 'vCenter Server', 'VM MoRef', 'ChainLength')); // array to store URL pages $pageUrls = array(); // retrieve all pages getPages($recsObj->get_href()); foreach ($pageUrls as $url) { // GET operation on URL $record = $service->get($url); // query all adminVM using query service foreach ($record->getRecord() as $vm) { if ($vm->get_status() == "UNRESOLVED") {