/** * Retrieves all organization vDCs for the given provider vDC. * * @return array|null An array of VMware_VCloud_API_ReferenceType or null. * @since Version 1.5.0 */ public function getVdcRefs($name = null) { $url = $this->url . '/vdcReferences'; $refs = $this->svc->get($url); return VMware_VCloud_SDK_Helper::getObjsByName($refs->getVdcReference(), $name); }
/** * Get download URL of an iso or floppy media. * * @param array VMware_VCloud_API_FileType object array $files * @return string an iso media URL * @access private * @since API Version 5.5.0 * @since SDK Version 5.5.0 */ private function getDownloadMediaUrl($files) { $refs = VMware_VCloud_SDK_Helper::getContainedLinks(null, 'download:default', $files[0]); if (1 == count($refs)) { return $refs[0]->get_href(); } }
function getEntityLink($rel, $obj, $method = 'getEntityLink') { $links = VMware_VCloud_SDK_Helper::getContainedLinks(null, $rel, $obj, $method); return 1 == count($links) ? $links[0] : null; }
$refs = $sdkExt->getVMWExternalNetworkRefs(); if (0 == count($refs)) { exit(0); } foreach ($refs as $ref) { echo "href=" . $ref->get_href() . " type=" . $ref->get_type() . " name=" . $ref->get_name() . "\n"; } exit(0); } // create a reference to the vim server $vimRefs = $sdkExt->getVimServerRefs($vimName); if (0 == count($vimRefs)) { exit("No vim server with {$vimName} is found!\n"); } $vimRef = $vimRefs[0]; $vimRef = VMware_VCloud_SDK_Helper::createReferenceTypeObj($vimRef->get_href()); // create a reference to the portgroup $vmPGRef = new VMware_VCloud_API_Extension_VimObjectRefType(); $vmPGRef->setVimServerRef($vimRef); $vmPGRef->setMoRef($netMoRef); $vmPGRef->setVimObjectType('DV_PORTGROUP'); // set IP range $ipRange = new VMware_VCloud_API_IpRangeType(); $ipRange->setStartAddress($startAddr); $ipRange->setEndAddress($endAddr); $ipRanges = new VMware_VCloud_API_IpRangesType(); $ipRanges->setIpRange(array($ipRange)); // set network configuration $ipScope = new VMware_VCloud_API_IpScopeType(); $ipScope->setIsInherited(false); $ipScope->setGateway($gateway);
/** * Get references of all organization data objects or an organization data * object by its name in VMware vCloud Director. This function retrieves * organization references from server. User can also use the response of * the login() function call to get a list of the organization references. * * @param string $name Name of the organization. If null, returns all. * @return array VMware_VCloud_API_ReferenceType object array * @since Version 1.0.0 */ public function getOrgRefs($name = null) { $url = $this->baseUrl . '/org/'; $refs = $this->get($url)->getOrg(); return VMware_VCloud_SDK_Helper::getObjsByName($refs, $name); }
} $vm = null; foreach ($vms as $v) { if ($vmName == $v->get_name()) { $vm = $v; break; } } $vappTemplateVM = $vm; $vmRef1 = VMware_VCloud_SDK_Helper::createReferenceTypeObj($vm->get_href()); $sdkNet = $sdkVdc->getAvailableNetworks($orgVdcNetName); if (0 == count($sdkNet)) { exit("Specified organization '{$orgName}' does not have organization " . "network '{$orgVdcNetName}' configured\n"); } $sdkNet = $sdkNet[0]; $netRef = VMware_VCloud_SDK_Helper::createReferenceTypeObj($sdkNet->get_href(), 'reference', $sdkNet->get_type(), $sdkNet->get_name()); $conf = $sdkNet->getConfiguration(); $info = new VMware_VCloud_API_OVF_Msg_Type(); $info->set_valueOf("Configuration parameters for logical networks"); $netconf = new VMware_VCloud_API_VAppNetworkConfigurationType(); $netconf->set_networkName($vappNetConfig->get_networkName()); $netconf->setConfiguration($conf); $netconf->getConfiguration()->setParentNetwork($netRef); $section = new VMware_VCloud_API_NetworkConfigSectionType(); $section->setInfo($info); $section->setNetworkConfig(array($netconf)); $iparams = new VMware_VCloud_API_InstantiationParamsType(); $iparams->setSection(array($section)); /** * VM and its Nic settings. */
/** * Send an HTTP DELETE request. * * @param string $url URL to send an HTTP request * @param int $expect Expected HTTP status code on a successful request * @return VMware_VCloud_API_TaskType|null * @throws VMware_VCloud_SDK_Exception * @since Version 1.0.0 */ public function delete($url, $expect = null) { $response = $this->httpClient->delete($url); $code = $response->getStatus(); $body = $response->getBody(); $responseHeaders = $response->getHeader(); $status = $response->getReasonPhrase(); $file = $this->getLogger(); $file->log("Delete Request URL: {$url}", PEAR_LOG_INFO); $file->log("Status Code: {$code}", PEAR_LOG_INFO); $file->log("Status: {$status}", PEAR_LOG_INFO); $file->log("Response Header: " . var_export($responseHeaders, true), PEAR_LOG_DEBUG); $file->log("Response: {$body}", PEAR_LOG_DEBUG); if (isset($expect) && $expect != $code) { throw new VMware_VCloud_SDK_Exception("DELETE {$url} failed, " . "error code: {$code}, error: {$body}\n"); } return VMware_VCloud_SDK_Helper::getObjByXML($body); }
} } if ($flag == true) { if (!isset($certPath)) { echo "\n\nIgnoring the Certificate Validation --Fake certificate - DO NOT DO THIS IN PRODUCTION.\n\n"; } // login $service = VMware_VCloud_SDK_Service::getService(); $service->login($server, array('username' => $user, 'password' => $pswd), $httpConfig, $sdkversion); if (true === $list) { $orgRefs = $service->getOrgRefs($orgName); if (0 == count($orgRefs)) { exit("No organization with {$orgName} is found\n"); } $org = $service->get($orgRefs[0]->get_href()); $links = VMware_VCloud_SDK_Helper::getContainedLinks('vdc', 'down', $org, $method = 'getLink'); if (0 < count($links)) { foreach ($links as $ref) { echo "href=" . $ref->get_href() . " type=" . $ref->get_type() . " name=" . $ref->get_name() . "\n"; } } exit(0); } // create an SDK Admin object $sdkAdmin = $service->createSDKAdminObj(); // get references to administrative organization entities $adminOrgRefs = $sdkAdmin->getAdminOrgRefs($orgName); if (0 == count($adminOrgRefs)) { exit("No organization with {$orgName} is found\n"); } $adminOrgRef = $adminOrgRefs[0];
/** * Get subset links of a VMware vCloud data object, filtered by 'type' * and/or 'rel' attributes. If a link with specified filter (using $ctype or * $rel or both) does not exist, this means the desired opertion is not * allowed on that resource entity. * * @param string $ctype The 'type' attribute of an XML element to filter * @param string $rel The 'rel' attribute of an XML element to filter * @return array|null VMware_VCloud_API_LinkType object array or null * @since Version 1.0.0 */ protected function getContainedLinks($ctype = null, $rel = null) { return VMware_VCloud_SDK_Helper::getContainedLinks($ctype, $rel, $this->getDataObj()); }
$errMessage = VMware_VCloud_SDK_Helper::getObjByXml($e->getMessage()); echo $errMessage->get_majorErrorCode() . ' : ' . $errMessage->get_message() . "\n"; } // client 1 and client 2 performing operation after logout. try { echo "\n\n VcloudClient 1 \n"; echo "\n " . $vcloudClient1->createSDKAdminObj()->getVCloud()->getDescription(); } catch (Exception $e) { $errMessage = VMware_VCloud_SDK_Helper::getObjByXml($e->getMessage()); echo " " . $errMessage->get_majorErrorCode() . ' : ' . $errMessage->get_message() . "\n"; } try { echo "\n VcloudClient 2\n"; echo "\n " . $vcloudClient2->createSDKAdminObj()->getVCloud()->getDescription(); } catch (Exception $e) { $errMessage = VMware_VCloud_SDK_Helper::getObjByXml($e->getMessage()); echo " " . $errMessage->get_majorErrorCode() . ' : ' . $errMessage->get_message() . "\n"; } } else { echo "\n\nLogin Failed due to certification mismatch."; return; } function usage() { echo "Usage:\n\n"; echo " [Description]\n"; echo " This sample illustrates the session management capabilities using the VcloudClient.\n"; echo "\n"; echo " [Usage]\n"; echo " # php sessionmanagement.php -s <server> -u <username> -p <password> -v <sdkversion> [Options]\n"; echo "\n";
/** * Send an HTTP DELETE request. * * @param string $url URL to send an HTTP request * @param int $expect Expected HTTP status code on a successful request * @return VMware_VCloud_API_TaskType|null * @throws VMware_VCloud_SDK_Exception * @since Version 1.0.0 */ public function delete($url, $expect = null) { $response = $this->httpClient->delete($url); $code = $response->getStatus(); $body = $response->getBody(); if (isset($expect) && $expect != $code) { throw new VMware_VCloud_SDK_Exception("DELETE {$url} failed, " . "error code: {$code}, error: {$body}\n"); } return VMware_VCloud_SDK_Helper::getObjByXML($body); }