Esempio n. 1
0
 /**
  * Get references to contained VMs or contained VMs with given name.
  *
  * @param string $name   Name of the VM. If null, returns all contained VMs
  * @return array         VMware_VCloud_API_ReferenceType object array.
  * @since Version 1.0.0
  */
 public function getContainedVmRefs($name = null)
 {
     $refs = array();
     $vms = $this->getContainedVms($name);
     if ($vms) {
         foreach ($vms as $vm) {
             $t = VMware_VCloud_SDK_Constants::VM_CONTENT_TYPE;
             $n = $vm->get_name();
             $ref = VMware_VCloud_SDK_Helper::createReferenceTypeObj($vm->get_href(), 'Reference', $t, $n);
             array_push($refs, $ref);
         }
     }
     return $refs;
 }
 }
 $vm = null;
 foreach ($vms as $v) {
     if ($vmName == $v->get_name()) {
         $vm = $v;
         break;
     }
 }
 $vappTemplateVM = $vm;
 $vmRef1 = VMware_VCloud_SDK_Helper::createReferenceTypeObj($vm->get_href());
 $sdkNet = $sdkVdc->getAvailableNetworks($orgVdcNetName);
 if (0 == count($sdkNet)) {
     exit("Specified organization '{$orgName}' does not have organization " . "network '{$orgVdcNetName}' configured\n");
 }
 $sdkNet = $sdkNet[0];
 $netRef = VMware_VCloud_SDK_Helper::createReferenceTypeObj($sdkNet->get_href(), 'reference', $sdkNet->get_type(), $sdkNet->get_name());
 $conf = $sdkNet->getConfiguration();
 $info = new VMware_VCloud_API_OVF_Msg_Type();
 $info->set_valueOf("Configuration parameters for logical networks");
 $netconf = new VMware_VCloud_API_VAppNetworkConfigurationType();
 $netconf->set_networkName($vappNetConfig->get_networkName());
 $netconf->setConfiguration($conf);
 $netconf->getConfiguration()->setParentNetwork($netRef);
 $section = new VMware_VCloud_API_NetworkConfigSectionType();
 $section->setInfo($info);
 $section->setNetworkConfig(array($netconf));
 $iparams = new VMware_VCloud_API_InstantiationParamsType();
 $iparams->setSection(array($section));
 /**
  * VM and its Nic settings.
  */
     $refs = $sdkExt->getVMWExternalNetworkRefs();
     if (0 == count($refs)) {
         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);
 /**
  * Get a ReferenceType data object.
  *
  * @return VMware_VCloud_API_ReferenceType
  * @since Version 1.0.0
  */
 protected function getRef($type = null)
 {
     return VMware_VCloud_SDK_Helper::createReferenceTypeObj($this->url, null, $type);
 }