/** * 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); }