} 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); $ipScope->setNetmask($netmask); $ipScope->setDns1($dns1); $ipScope->setDns2($dns2);
// login $service = VMware_VCloud_SDK_Service::getService(); $service->login($server, array('username' => $user, 'password' => $pswd), $httpConfig, $sdkversion); // creates an SDK Extension object $sdkExt = $service->createSDKExtensionObj(); // create references to the vim server $vimRefs = $sdkExt->getVimServerRefs($vimName); if (0 == count($vimRefs)) { exit("No vim server with {$vimName} is found\n"); } $vimRef = $vimRefs[0]; $vimRef1 = VMware_VCloud_SDK_Helper::createReferenceTypeObj($vimRef->get_href()); $vimRef2 = VMware_VCloud_SDK_Helper::createReferenceTypeObj($vimRef->get_href()); // create references of portgroup $pgRef = new VMware_VCloud_API_Extension_VimObjectRefType(); $pgRef->setVimServerRef($vimRef1); $pgRef->setMoRef($netMoRef); $pgRef->setVimObjectType('NETWORK'); $pgRefs = new VMware_VCloud_API_Extension_VimObjectRefsType(); $pgRefs->addVimObjectRef($pgRef); // create a port group type of network pool data object $pool = new VMware_VCloud_API_Extension_PortGroupPoolType(); $pool->set_name($poolName); $pool->setPortGroupRefs($pgRefs); $pool->setVimServer($vimRef2); // create a network pool in the vCloud Director $sdkExt->createVMWNetworkPool($pool); } else { echo "\n\nLogin Failed due to certification mismatch."; return; }
/** * Update params for isolation-backed network pool * @param VMware_VCloud_API_ReferenceType $vimserverRef * @param String $dvSwitchName * * @return VMware_VCloud_API_Extension_FencePoolType */ function updateIsolationBakedVMWNetworkPoolParams($vimserverRef, $dvSwitchName, $poolName) { // create references of FencePool $pgRef = new VMware_VCloud_API_Extension_VimObjectRefType(); $pgRef->setVimServerRef($vimserverRef); $pgRef->setMoRef($dvSwitchName); $pgRef->setVimObjectType('NETWORK'); // create a FencePool type of network pool data object $pool = new VMware_VCloud_API_Extension_FencePoolType(); $pool->set_name($poolName); $pool->setFenceIdCount(5); $pool->setVimSwitchRef($pgRef); $pool->setVlanId(10); $pool->setUsedNetworksCount(2); return $pool; }
/** * Update ProviderVdc * * @param VMware_VCloud_API_ReferenceType $vimserverRef * @param string $rpMoRef * @param string $pvdcName * @param VMware_VCloud_API_Extension_VimObjectRefType $dsVimObject * @return VMware_VCloud_API_Extension_VMWProviderVdcType */ function updateProviderVdcParam($vimserverRef, $rpMoRef, $pvdcName, $dsVimObject) { // set resource pool $vimObj = new VMware_VCloud_API_Extension_VimObjectRefType(); $vimObj->setVimServerRef($vimserverRef); $vimObj->setMoRef($rpMoRef); $vimObj->setVimObjectType('RESOURCE_POOL'); $rpRefs = new VMware_VCloud_API_Extension_VimObjectRefsType(); $rpRefs->addVimObjectRef($vimObj); $dsRefs = new VMware_VCloud_API_Extension_VimObjectRefsType(); $dsRefs->addVimObjectRef($dsVimObject); // create a provider vDC data object $pvdc = new VMware_VCloud_API_Extension_VMWProviderVdcType(); $pvdc->set_name($pvdcName); $pvdc->setResourcePoolRefs($rpRefs); $pvdc->setDataStoreRefs($dsRefs); $pvdc->setIsEnabled(true); $pvdc->setVimServer(array($vimserverRef)); return $pvdc; }