예제 #1
0
         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);
 $ipScope->setNetmask($netmask);
 $ipScope->setDns1($dns1);
예제 #2
0
    }
    // 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;
}