String getUniqueId(VirtualMachine vm) { return vm.getConfig().getInstanceUuid(); }
public List<VirtualEthernetCard> getAllNics(VirtualMachine vm) throws RemoteException { List<VirtualEthernetCard> nics = new ArrayList<VirtualEthernetCard>(); VirtualDevice[] devices = vm.getConfig().getHardware().getDevice(); for (VirtualDevice device : devices) { if (device instanceof VirtualEthernetCard) { nics.add((VirtualEthernetCard) device); } } return nics; }
public VirtualEthernetCard getNic(VirtualMachine vm, int nicIndex) throws RemoteException { if (nicIndex < 0) { throw new IllegalArgumentException("Invalid nic index"); } List<VirtualEthernetCard> nics = new ArrayList<VirtualEthernetCard>(); VirtualDevice[] devices = vm.getConfig().getHardware().getDevice(); for (VirtualDevice device : devices) { if (device instanceof VirtualEthernetCard) { nics.add((VirtualEthernetCard) device); } } if (nics.size() < nicIndex) { throw new IllegalArgumentException("Invalid nic index"); } return nics.get(nicIndex); }
/** * Returns the annotation of a virtual machine */ private void getVmAnnotation(String vmName, PrintWriter out) throws IOException { try { VirtualMachine vm = (VirtualMachine) getManagedEntity(vmName, "VirtualMachine"); String an = ""; if (vm == null) { LOG.warn("No vm named '" + vmName + "' found"); } else { VirtualMachineConfigInfo vmcfg = vm.getConfig(); an = vmcfg.getAnnotation(); } out.print(an); out.flush(); } catch (Exception ex) { LOG.error("An error occurred : " + ex.toString()); } }
public String getVmxPath(VirtualMachine vm) { return vm.getConfig().getFiles().getVmPathName(); }
/** * Returns a JSON-formatted array with the virtual machines list for use * with Zabbix low-level discovery */ private void getVMs(PrintWriter out) throws IOException { try { ManagedEntity[] vms = getManagedEntities("VirtualMachine"); JsonArray jArray = new JsonArray(); for (int j = 0; j < vms.length; j++) { VirtualMachine vm = (VirtualMachine) vms[j]; VirtualMachineConfigInfo vmcfg = vm.getConfig(); if (vm != null && vmcfg != null) { JsonObject jObject = new JsonObject(); String vmName = vm.getName(); String vmUuid = vmcfg.getUuid(); jObject.addProperty("{#VIRTUALMACHINE}", vmName); jObject.addProperty("{#UUID}", vmUuid); jArray.add(jObject); } } JsonObject jOutput = new JsonObject(); jOutput.add("data", jArray); out.print(jOutput); out.flush(); } catch (Exception ex) { LOG.error("An error occurred : " + ex.toString()); } }
/** * Returns the number of CPU cores of a virtual machine */ private void getVmCpuCores(String vmName, PrintWriter out) throws IOException { try { VirtualMachine vm = (VirtualMachine) getManagedEntity(vmName, "VirtualMachine"); Integer cores = 0; if (vm == null) { LOG.warn("No vm named '" + vmName + "' found"); } else { VirtualMachineConfigInfo vmcfg = vm.getConfig(); VirtualHardware vmhd = vmcfg.getHardware(); if (vmhd != null) { cores = vmhd.getNumCPU(); if (cores == null) { cores = 0; } } } out.print(cores); out.flush(); } catch (Exception ex) { LOG.error("An error occurred : " + ex.toString()); } }
public void convertToTemplate(ServiceInstance si, String vmName) throws Exception { VirtualMachine vm = (VirtualMachine) new InventoryNavigator(si.getRootFolder()).searchManagedEntity("VirtualMachine", vmName); if (vm == null) { System.out.println("Not found vm " + vmName); return; } if (vm.getConfig().isTemplate()) { System.out.println("The vm " + vmName + " is already a template!"); return; } vm.markAsTemplate(); System.out.println("Convert vm " + vmName + " to template successfully!"); }
static VirtualDeviceConfigSpec createRemoveCdConfigSpec(VirtualMachine vm, String cdName) throws Exception { VirtualDeviceConfigSpec cdSpec = new VirtualDeviceConfigSpec(); cdSpec.setOperation(VirtualDeviceConfigSpecOperation.remove); VirtualCdrom cdRemove = (VirtualCdrom)findVirtualDevice(vm.getConfig(), cdName); if(cdRemove != null) { cdSpec.setDevice(cdRemove); return cdSpec; } else { System.out.println("No device available " + cdName); return null; } }
static VirtualDeviceConfigSpec createRemoveCdConfigSpec(VirtualMachine vm, String cdName) throws Exception { VirtualDeviceConfigSpec cdSpec = new VirtualDeviceConfigSpec(); cdSpec.setOperation(VirtualDeviceConfigSpecOperation.remove); VirtualCdrom cdRemove = (VirtualCdrom)findVirtualDevice(vm.getConfig(), cdName); if(cdRemove != null) { cdSpec.setDevice(cdRemove); return cdSpec; } else { System.out.println("No device available " + cdName); return null; } }
public static void main(String[] args) throws Exception { long start = System.currentTimeMillis(); ServiceInstance si = new ServiceInstance(new URL("https://8.8.8.8/sdk"), "root", "password", true); long end = System.currentTimeMillis(); System.out.println("time taken:" + (end-start)); Folder rootFolder = si.getRootFolder(); String name = rootFolder.getName(); System.out.println("root:" + name); ManagedEntity[] mes = new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine"); if(mes==null || mes.length ==0) { return; } VirtualMachine vm = (VirtualMachine) mes[0]; VirtualMachineConfigInfo vminfo = vm.getConfig(); VirtualMachineCapability vmc = vm.getCapability(); vm.getResourcePool(); System.out.println("Hello " + vm.getName()); System.out.println("GuestOS: " + vminfo.getGuestFullName()); System.out.println("Multiple snapshot supported: " + vmc.isMultipleSnapshotsSupported()); si.getServerConnection().logout(); }
static VirtualDeviceConfigSpec createRemoveDiskConfigSpec( VirtualMachine vm, String diskName) throws Exception { VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec(); VirtualDisk disk = (VirtualDisk) findVirtualDevice(vm.getConfig(), diskName); if(disk != null) { diskSpec.setOperation(VirtualDeviceConfigSpecOperation.remove); diskSpec.setFileOperation(VirtualDeviceConfigSpecFileOperation.destroy); diskSpec.setDevice(disk); return diskSpec; } else { System.out.println("No device found: " + diskName); return null; } }
public static void main(String[] args) throws Exception { long start = System.currentTimeMillis(); ServiceInstance si = SampleUtil.createServiceInstance(); long end = System.currentTimeMillis(); Folder rootFolder = si.getRootFolder(); System.out.println("time taken:" + (end - start)); String name = rootFolder.getName(); System.out.println("vc root folder:" + name); ManagedEntity[] mes = new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine"); if (mes == null || mes.length == 0) { return; } VirtualMachine vm = (VirtualMachine) mes[0]; VirtualMachineConfigInfo vminfo = vm.getConfig(); VirtualMachineCapability vmc = vm.getCapability(); System.out.println("Name: " + vm.getName()); System.out.println("IP: " + vm.getGuest().getIpAddress()); System.out.println("FQDN: " + vm.getGuest().getHostName()); System.out.println("MOID: " + vm.getMOR().val); System.out.println("InstanceUUID: " + vm.getSummary().getConfig().getInstanceUuid()); System.out.println("GuestOS: " + vminfo.getGuestFullName()); System.out.println("Multiple snapshot supported: " + vmc.isMultipleSnapshotsSupported()); si.getServerConnection().logout(); }
static VirtualDeviceConfigSpec createRemoveDiskConfigSpec(VirtualMachine vm, String diskName) throws Exception { VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec(); VirtualDisk disk = (VirtualDisk) findVirtualDisk(vm.getConfig(), diskName); if (disk != null) { diskSpec.setOperation(VirtualDeviceConfigSpecOperation.remove); diskSpec .setFileOperation(VirtualDeviceConfigSpecFileOperation.destroy); diskSpec.setDevice(disk); return diskSpec; } return null; }
private static VirtualDeviceConfigSpec createDeviceConfig(VirtualMachine vm, String mac, VirtualEthernetCardDistributedVirtualPortBackingInfo nicBacking) { VirtualDeviceConfigSpec configSpec = null; VirtualMachineConfigInfo vmConfigInfo = vm.getConfig(); VirtualDevice[] vds = vmConfigInfo.getHardware().getDevice(); int i = 0; while (configSpec == null && i < vds.length) { if (vds[i] instanceof VirtualEthernetCard && ((VirtualEthernetCard) vds[i]).getMacAddress().equals(mac)) { configSpec = new VirtualDeviceConfigSpec(); configSpec.setOperation(VirtualDeviceConfigSpecOperation.edit); vds[i].setBacking(nicBacking); configSpec.setDevice(vds[i]); } i++; } return configSpec; }
public VirtualMachine fetchOriginalVm(Path path, boolean isTemplate) throws RemoteException { VirtualMachine result = null; Folder folder = fetchFolder(path.getParent()); String targetName = path.getName(); // find template for (ManagedEntity e : folder.getChildEntity()) { if (e instanceof VirtualMachine && e.getName().equals(targetName)) { VirtualMachine vmTemplate = (VirtualMachine) e; if (vmTemplate.getConfig().isTemplate() == isTemplate) { result = vmTemplate; break; } } } if (result == null) { throw new NotFound(); } return result; }
public VmServerDO(VirtualMachine vm) { VirtualMachineConfigInfo config = vm.getConfig();//虚拟机配置信息 this.invokeVmName(vm.getName()); this.content = config.getAnnotation(); this.memory = config.getHardware().getMemoryMB(); this.cpu = config.getHardware().getNumCPU(); VirtualMachinePowerState state = vm.getRuntime().powerState; this.powerState = vm.getRuntime().powerState.name(); }
VirtualMachineConfigInfo vmConfig = (VirtualMachineConfigInfo)vm.getConfig(); VirtualDevice[] vds = vmConfig.getHardware().getDevice();
ObjectNode toComputeNodeData(VirtualMachine vm) { ObjectNode n = mapper.createObjectNode(); try { VirtualMachineConfigInfo cfg = vm.getConfig(); setVal(n, "vmw_memoryMB", "" + cfg.getHardware().getMemoryMB()); setVal(n, "vmw_numCPU", "" + cfg.getHardware().getNumCPU()); setVal(n, "vmw_isTemplate",vm.getConfig().isTemplate()); setVal(n, "vmw_powerState",vm.getSummary().getRuntime().getPowerState().toString());