Пример #1
0
    // 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;
}
function usage()
{
    echo "Usage:\n\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;
}