$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; } function usage() { echo "Usage:\n\n"; echo " [Description]\n";
/** * Update params for portgroup-backed network pool * @param VMware_VCloud_API_ReferenceType $vimserverRef * @param String $portGroupMoRef * * @return VMware_VCloud_API_Extension_PortGroupPoolType */ function updatePortGrpVMWNetworkPoolParams($vimserverRef, $portGroupMoRef, $poolName, $portGroupType) { // create references of portgroup $pgRef = new VMware_VCloud_API_Extension_VimObjectRefType(); $pgRef->setVimServerRef($vimserverRef); $pgRef->setMoRef($portGroupMoRef); $pgRef->setVimObjectType($portGroupType); $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($vimserverRef); 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; }