function getCloudService($jsonParams) { $arg1 = 'providername'; $accountprovider = $jsonParams->{$arg1}; loghandler(INFO, "Connecting to provider:" . $accountprovider); $arg10 = 'cloudproviders'; $cloudproviders = $jsonParams->{$arg10}; $providerArray = json_decode($cloudproviders); $password = $providerArray->{$accountprovider}->password; $serverurl = "server name"; $server = $providerArray->{$accountprovider}->{$serverurl}; $username = "******"; $user = $providerArray->{$accountprovider}->{$username}; $this->orgName = $providerArray->{$accountprovider}->Organisation; $datacenter = "Data center"; $this->vdc = $providerArray->{$accountprovider}->{$datacenter}; // Initialize parameters $httpConfig = array('ssl_verify_peer' => false, 'ssl_verify_host' => false); $sdkversion = "5.5"; $auth = array('username' => $user, 'password' => $password); // Create a service object"; $service = VMware_VCloud_SDK_Service::getService(); try { // Login to the service portal, parameters are set from command line $service->login($server, $auth, $httpConfig, $sdkversion); $serv = new VMWareService(); $serv->setService($service); $serv->setOrganisation($this->orgName); $serv->setDataCenter($this->vdc); $serv->setProviderName($accountprovider); return $serv; } catch (Exception $se) { $message = $se->getMessage(); trigger_error($message, E_USER_ERROR); } return null; }
} // compare two certificate as string if (strcmp($encodeddata1, $encodeddata2) == 0) { echo "\n\nValidation of certificates is successful.\n\n"; $flag = true; } else { echo "\n\nCertification Failed.\n"; $flag = false; } } 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); // create an SDK Org object $orgRefs = $service->getOrgRefs($orgName); if (0 == count($orgRefs)) { exit("No organization with name {$orgName} is found\n"); } $orgRef = $orgRefs[0]; $sdkOrg = $service->createSDKObj($orgRef); // create an SDK vDC object $vdcRefs = $sdkOrg->getVdcRefs($vdcName); if (0 == count($vdcRefs)) { exit("No vDC with name {$vdcName} is found\n"); } $vdcRef = $vdcRefs[0]; $sdkVdc = $service->createSDKObj($vdcRef);
/** * Get a class name of an SDK object from a URI of a VMware * vCloud resource entity or the entry point of resource entity. * * @param VMware_VCloud_SDK_Service $svc * @param string $url URL of the resource entity or the entry point * @return string|null * @access private */ private static function getClassnameByUrl($svc, $url) { $urlMap = self::$urlMap; $baseUrl = $svc->getBaseUrl(); $rest = substr($url, strlen($baseUrl) + 1); $restArr = explode('/', $rest); if (preg_match('/^vm-|vapp-|vappTemplate-/', end($restArr), $matches)) { $key = substr_replace($matches[0], '', -1); } else { if (!preg_match('/^admin|extension$/', end($restArr))) { array_splice($restArr, count($restArr) - 1); //remove id } $key = implode('/', $restArr); } $className = "VMware_VCloud_SDK_{$urlMap[$key]}"; return class_exists($className) ? $className : null; }
/** * Get a resource URL from its vCloud entity ID. * * @param VMware_VCloud_SDK_Service $service * @param string $eid vCloud entity ID * @return string|null * @since Version 1.5.0 */ public static function getUrlByEntityId($service, $eid) { $url = $service->getBaseUrl() . '/entity/' . $eid; $entity = $service->get($url); $links = self::getContainedLinks(null, 'alternate', $entity); if (1 == count($links)) { return $links[0]->get_href(); } return null; }
// compare two certificate as string if (strcmp($encodeddata1, $encodeddata2) == 0) { echo "\n\nValidation of certificates is successful.\n\n"; $flag = true; } else { echo "\n\nCertification Failed.\n"; $flag = false; } } if ($flag == true) { if (!isset($certPath)) { echo "\n\nIgnoring the Certificate Validation --Fake certificate - DO NOT DO THIS IN PRODUCTION.\n\n"; } // vCloud login $vcloudClient1 = VMware_VCloud_SDK_Service::getService(); $vcloudClient2 = VMware_VCloud_SDK_Service::getService(); echo "Note 1 : Every Authenticated VcloudClient instance gets a seperate token"; // client 1 login try { $vcloudClient1->login($server, array('username' => $user, 'password' => $pswd), $httpConfig, $sdkversion); echo "\n\n VcloudClient 1\n"; echo " Login Successful\n"; echo " Token - " . $vcloudClient1->getToken(); 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"; } // client 2 login try { $vcloudClient2->login($server, array('username' => $user, 'password' => $pswd), $httpConfig, $sdkversion);